楼上的回答欠妥。
用eval函数没错,但按照楼上的用法,适应性很差,比如b是其它数据类型的,例如struct或cell之类的呢?而且使用num2str这类函数本身还存在有效数字导致的精度损失问题。
其实正确的用法非常简单:
eval([a '=b;'])
可以原汁原味的把b赋值给a所保存的变量名中,没有任何精度损失,且适用于任意数据类型。
eval([a '=b;'])
可以原汁原味b赋值给a所保存变量名,没有任何精度损失,且适用于任意数据类型。
连续load,每改变file_name
for i = 1:13
name = ['Data1_Al_',num2str(i),'__U'];
load name;
% your code;
load用eval(s)执行顺便赋值(s命令行)
比C/C++简单很多,直接一个命令行搞定,如下: >> str = 'abc' str = abc
a='aea';
b=1;
eval([a,'=',num2str(b)])