概述
eval(‘expression’):执行文本中的表达式
例如eval(‘y=1’),执行的为y=1,这一表达式,就是把y赋值为1。
之前看到在eval里用到int2str,或num2str这样的函数,例如
for n=1:10
eval(['A',int2str(n),'=rand(10)']);
end
执行的就是建立了十个随机10x10的矩阵A1到A10,即An=rand(10),因为rand(10)后面没有加分号,所以每次循环都会把结果显示在命令行。
eval经常会用在带序列名称的变量和带序列名称的文件中。帮助文件中可以看到并不推荐使用eval这一函数,而应该用其他方法代替。
例如
1.带序列名称的变量
建立元胞数组
A = cell(10,1);
for n = 1:10
A{n} = rand(10);
end
也是建立十个10x10的随机矩阵,通过花括号A{n}可以查询每个矩阵的具体数值。
2.带序列名称的文件
利用eval将数据写入excel
clear all;clc
A = cell(10,1);
for n = 1:10
A{n} = rand(10);
eval(['xlswrite(''myfile',int2str(n),'.xlsx'',A{n})'])
end
上面程序将生产的10个10x10随机矩阵分别写入myfile1,,,myfile10这十个xlsx文件中。
利用sprintf可以代替上述代码
clear all;clc
num=10;
for n=1:num
randomdata=rand(10);
currentfile=sprintf('myfile%d.xlsx',n);
xlswrite(currentfile,randomdata)
end
来源
https://ww2.mathworks.cn/help/matlab/matlab_prog/string-evaluation.html?searchHighlight=eval&s_tid=doc_srchtitle
最后
以上就是美好麦片为你收集整理的matlab eval函数用法的全部内容,希望文章能够帮你解决matlab eval函数用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复