有人问,我想生成100个变量,取名分别为A1~A100,怎么弄?
大部分人可能会认为无法实现,其实不然。这里以几个实例说明此类功能的实现。
针对上面提及的问题,给出一段代码,生成100个3*3随机变量,取名A1~A100:
- for i=1:100
- eval(['A',num2str(i),'=rand(3);'])
- end
复制代码
实例2
有童鞋问,有变量a='b',能不能将'b'变成一个变量名,将值赋给变量b。
这里就可以用eval命令解决。
- a='b';
- temp=200;%先将值赋给临时变量
- tempeval([a,'=temp;']); %注意!这里a是不带引号的!生成变量b,将temp的值赋给b
复制代码
。。。
学会了eval命令,能在matlab中实现很多比较特殊但又很实用的功能。学习matlab要习惯查看帮助文档,matlab帮助文档中就有3个关于eval命令的例子。
eval Execute string containing MATLAB expression Syntax eval(expression)
[a1, a2, a3, ...] = eval('myfun(b1, b2, b3, ...)') |