简而言之,eval('x=1')
的含义就是x=1
,看似毫无用处,但它在动态生成变量名字的时候非常好用。比如你想要生成
a1=zero(5);
a2=zero(5);
a3=zero(5);
a4=zero(5);
a5=zero(5);
……
a1000=zero(5);
可以用简单的三行代替
for i=1:1000
eval(['a',num2str(i),'=zero(5);']);
end
其语法为eval([s1,s2,s3])
,即将s1,s2,s3拼接起来运行
比如
eval(['save(''matlab.mat'',''mat''',num2str(i),''');'])
其含义为
save('matlab.mat','mati');
一定要注意其中的引号,''
表示字符串中的'