matlab中如何把字符串设置为变量名

有大量mat文件,每个文件包含有变量名为Data1_AI_i___U的数据(其中i是变化的0-13)
,要对这些数据一个一个进行其他处理,请问有什么方法可以自动把数据提出来进行处理不?用whos把变量名提取变成字符串了,但还是想不到方法可以把这些字符串再变成变量名,请高手指教

上面的回答很正确了,无非就两个办法:
1)就是把目录底下所有的mat文件都提取出来
file_name = dir('*.mat');
除开file_name(1).Name和file_name(2).Name是.和..外,其他都是mat文件名。

2)就是连续load,每次改变file_name
for i = 1:13
name = ['Data1_Al_',num2str(i),'__U'];
load name;
% your code;
end

还有一个很笨的办法,就是load了以后,用eval(s)来执行一次,顺便赋值。。(s是命令行)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-07
你这样吧

for i = 1:13
name = ['Data1_Al_' int2str(i) '_U'];
v = load('xx.mat', name);
...
end
类似这种程序吧。。。将各种变量取出来
大量的mat文件可以用dir命令取
注意取出的文件名前两个'.'和'..'
这个去掉好了
第2个回答  2020-12-23
matlab中如何把字符串设置为变量名
有大量mat文件,每个文件包含有变量名为Data1_AI_i___U的数据(其中i是变化的0-13)
,要对这些数据一个一个进行其他处理,请问有什么方法可以自动把数据提出来进行处理不?用whos把变量名提取变成字符串了,但还是想不到方法可以把这些字符串再变成变量名,请高手指教 展开
写回答有奖励 共2个回答

Carrot_hy

2017-11-23 TA获得超过1785个赞
关注
上面的回答很正确了,无非就两个办法:
1)就是把目录底下所有的mat文件都提取出来
file_name = dir('*.mat');
除开file_name(1).Name和file_name(2).Name是.和..外,其他都是mat文件名。
2)就是连续load,每次改变file_name
for i = 1:13
name = ['Data1_Al_',num2str(i),'__U'];
load name;
% your code;
end
还有一个很笨的办法,就是load了以后,用eval(s)来执行一次,顺便赋值。。(s是命令行)
相似回答