概述
eval_r()函数的功能就是将括号内的字符串视为语句并运行
例如: eval_r('y1=sin(2)')就是相当于在matlab命令窗口输入了y1=sin(2)这条命令。
多在循环中使用,可以对多个名字有规则的变量或文件进行操作,
例如:
subplot(711);plot(t,y);title('原始信号’);
for i=1:6
subplot(7,1,i+1);
plot(t,imf(i,:));
eval_r(['title(''IMF',int2str(i),''');']);
end
-------------------------
以上6行程序实际上是执行以下7条命令
subplot(711);plot(t,y);title('原始信号');
subplot(7,1,2);plot(t,imf(1,:));title('IMF1');
subplot(7,1,3);plot(t,imf(2,:));title('IMF2');
subplot(7,1,4);plot(t,imf(3,:));title('IMF3');
subplot(7,1,5);plot(t,imf(4,:));title('IMF4');
subplot(7,1,6);plot(t,imf(5,:));title('IMF5');
subplot(7,1,7);plot(t,imf(6,:));title('IMF6');
其中最后6条是通过循环里面执行的语句
这里通过eval()函数实现了上面的输出
title('IMF1');title('IMF2');title('IMF3');title('IMF4');title('IMF5');title('IMF6');
这6条语句中,只有数字1,2,3,4,5,6不同,其他相同。即将数字部分(也就是变化的部分)看做一部分,即为eval()函数中的
int2str(i)
,将数字左边没有变化的
title('IMF
看做一部分,将数字右边没有变化的
');
看做一部分。
以上三部分整合起来就是 输出命令 title('IMFi');
其中值得注意的是想要输出单撇号,用''代替'即可,就好像C语言用\代替是一个道理,都属于特殊符号。
如果一条语句存在两个变化的地方,同理,将变化的那两部分视为两个独立的部分,其余的划分为几个部分。更多的也同理。
最后
以上就是落后小懒虫为你收集整理的matlab用eval函数,matlab—eval函数的全部内容,希望文章能够帮你解决matlab用eval函数,matlab—eval函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复