1 回答

TA貢獻1818條經驗 獲得超7個贊
“matlab”中eval函數的使用方法如下:
eval_r()函數的功能就是將括號內的字符串視為語句并運行
例如: eval_r('y1=sin(2)')就是相當于在matlab命令窗口輸入了y1=sin(2)這條命令。
多在循環中使用,可以對多個名字有規則的變量或文件進行操作,
例1:
for x=1:5
eval_r(['y',num2str(x),'=',num2str(x^2),';'])
end
以上語句等于執行以下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);
以上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條是通過循環里面執行的語句
這里主要是通過e v a l()函數實現了輸出title('IMFi');這個語句
把 title('IMF 看做一個字符串
把i (i=1,2,3,4,5,6)這個浮點型變量以字符的形式輸出
把 '); 看做一個字符串
以上三部分整合起來就是 輸出命令 title('IMFi');
其中值得注意的是想要輸出單撇號,用''代替'即可,就好像C語言用\\代替\是一個道理,都屬于特殊符號。
添加回答
舉報