为了账号安全,请及时绑定邮箱和手机立即绑定

您好,求问“matlab”中eval函数怎么用?

您好,求问“matlab”中eval函数怎么用?

隔江千里 2021-11-04 11:07:21
CEM={'cos','sin','tan'};for k=1:3theta=pi*k/12;y2(1,k)=eval([CEM{k},'(',num2str(theta),')']);end请问这段程序中y2(1,k)=eval([CEM{k},'(',num2str(theta),')']);表示什么含义?另外这个程序正确输出结果是什么?
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

“matlab”中eval函数的使用方法如下:

  1. eval_r()函数的功能就是将括号内的字符串视为语句并运行

    例如: eval_r('y1=sin(2)')就是相当于在matlab命令窗口输入了y1=sin(2)这条命令。

  2. 多在循环中使用,可以对多个名字有规则的变量或文件进行操作,

  3. 例1:

    for x=1:5

    eval_r(['y',num2str(x),'=',num2str(x^2),';'])

    end

  4. 以上语句等于执行以下5句:

    ynum2str(1)=num2str(1^2);

    ynum2str(2)=num2str(2^2);

    ynum2str(3)=num2str(3^2);

    ynum2str(4)=num2str(4^2);

    ynum2str(5)=num2str(5^2);

  5. 以上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. 其中最后6条是通过循环里面执行的语句

    这里主要是通过e v a l()函数实现了输出title('IMFi');这个语句

    把 title('IMF 看做一个字符串

    把i (i=1,2,3,4,5,6)这个浮点型变量以字符的形式输出

    把 '); 看做一个字符串

  7. 以上三部分整合起来就是 输出命令  title('IMFi');

  8. 其中值得注意的是想要输出单撇号,用''代替'即可,就好像C语言用\\代替\是一个道理,都属于特殊符号。



查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 714 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信