本文地址:http://blog.csdn.net/greenchina1992/article/details/39032775 转载请注明出处
eval函数是一个比较神奇的函数,也较为好用,主要可以将字符串变换成命令执行,在需要动态生成或使用变量名时,非常好用,具体用法可help eval或者谷歌之。
简单用法如下:
for i = 1:10
eval(['a = ', num2str(i), ';']); %中括号将中间的句子组成一个字符串
end
这个语句等同于:
for i = 1:10
a = i;
end
如果需要动态生成变量名的话,eval函数是非常好用的:
for i = 1:10
eval(['node', num2str(i), '=', num2str(2*i), ';']);
end
以上代码等同于:
node1 = 2*1;
node2 = 2*2;
.
.
.
node10 = 2*10;
eval函数有关string的使用:
node1 = '123123';
a = 'node1';
如果遇到以上语句,我想执行第二条,如果直接使用:
eval('a = node1')
则a的值将变为'123123';而并不是我们想要的'node1',如果需要a是字符串的话,则可以如下执行:
str = 'node1';
eval('a = str');
先将字符串赋值给一个变量即可,虽然并不难,但目前没看到网上有提到该方法,希望能帮到有需要的朋友。