matlab用eval函数,matlab—eval函数
eval_r()函數(shù)的功能就是將括號內(nèi)的字符串視為語句并運行
例如: eval_r('y1=sin(2)')就是相當于在matlab命令窗口輸入了y1=sin(2)這條命令。
多在循環(huán)中使用,可以對多個名字有規(guī)則的變量或文件進行操作,
例如:
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行程序?qū)嶋H上是執(zhí)行以下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條是通過循環(huán)里面執(zhí)行的語句
這里通過eval()函數(shù)實現(xiàn)了上面的輸出
title('IMF1');title('IMF2');title('IMF3');title('IMF4');title('IMF5');title('IMF6');
這6條語句中,只有數(shù)字1,2,3,4,5,6不同,其他相同。即將數(shù)字部分(也就是變化的部分)看做一部分,即為eval()函數(shù)中的
int2str(i)
,將數(shù)字左邊沒有變化的
title('IMF
看做一部分,將數(shù)字右邊沒有變化的
');
看做一部分。
以上三部分整合起來就是 輸出命令 title('IMFi');
其中值得注意的是想要輸出單撇號,用''代替'即可,就好像C語言用\\代替\是一個道理,都屬于特殊符號。
如果一條語句存在兩個變化的地方,同理,將變化的那兩部分視為兩個獨立的部分,其余的劃分為幾個部分。更多的也同理。
總結(jié)
以上是生活随笔為你收集整理的matlab用eval函数,matlab—eval函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: getPerspectiveTransf
- 下一篇: 远程给Linux系统更新安装RTX208