matlab中eval函数的详细用法是什么?
1个回答
展开全部
eval_r()函数的功能就是将括号内的字符串视为语句并运行\x0d\x0a例如: eval_r('y1=sin(2)')就是相当于在matlab命令窗口输入了y1=sin(2)这条命令。\x0d\x0a多在循环中使用,可以对多个名字有规则的变量或文件进行操作,\x0d\x0a例一:\x0d\x0afor x=1:5\x0d\x0a eval_r(['y',num2str(x),'=',num2str(x^2),';'])\x0d\x0aend\x0d\x0a以上语句等价于执行以下5句:\x0d\x0a ynum2str(1)=num2str(1^2);\x0d\x0a ynum2str(2)=num2str(2^2);\x0d\x0a ynum2str(3)=num2str(3^2);\x0d\x0a ynum2str(4)=num2str(4^2);\x0d\x0a ynum2str(5)=num2str(5^2);\x0d\x0a例二:\x0d\x0asubplot(711);plot(t,y);title('原始信号’);\x0d\x0afor i=1:6\x0d\x0a subplot(7,1,i+1);\x0d\x0a plot(t,imf(i,:));\x0d\x0a eval_r(['title(''IMF',int2str(i),''');']);\x0d\x0aend\x0d\x0a-------------------------\x0d\x0a以上6行程序实际上是执行以下7条命令\x0d\x0asubplot(711);plot(t,y);title('原始信号');\x0d\x0asubplot(7,1,2);plot(t,imf(1,:));title('IMF1');\x0d\x0asubplot(7,1,3);plot(t,imf(2,:));title('IMF2');\x0d\x0asubplot(7,1,4);plot(t,imf(3,:));title('IMF3');\x0d\x0asubplot(7,1,5);plot(t,imf(4,:));title('IMF4');\x0d\x0asubplot(7,1,6);plot(t,imf(5,:));title('IMF5');\x0d\x0asubplot(7,1,7);plot(t,imf(6,:));title('IMF6');\x0d\x0a其中最后6条是通过循环里面执行的语句\x0d\x0a这里主要是通过e v a l()函数实现了输出title('IMFi');这个语句\x0d\x0a1.把 title('IMF 看做一个字符串\x0d\x0a2.把i (i=1,2,3,4,5,6)这个浮点型变量以字符的形式输出\x0d\x0a3.把 '); 看做一个字符串\x0d\x0a以上三部分整合起来就是 输出命令 title('IMFi');\x0d\x0a其中值得注意的是想要输出单撇号,用''代替'即可,就好像C语言用\\代替\是一个道理,都属于特殊符号。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询