matlab用eval函数,matlab—eval函数
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函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: getPerspectiveTransf
- 下一篇: matlab人脸追踪,求大神帮助我这个菜