matlab 动态变量生成 eval函数的使用

简而言之,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');

一定要注意其中的引号,''表示字符串中的'

猜你喜欢

转载自blog.csdn.net/weixin_43116425/article/details/105046179
今日推荐