Re: [問題] eval搭配imshow時,包含參數'border'
※ 引述《james8866 (James)》之銘言:
: 請教各位MATLAB高手一個問題...
: 如果不用eval的話,我的指令長這樣:
: imshow(F1,'border','tight')
: imshow(F2,'border','tight')
: ...
: imshow(F7,'border','tight')
: 但是我希望用迴圈搭配eval寫:
: for p=1:7
: eval(['imshow(F',num2str(p),','border','tight')']);
: end
: 很明顯MATLAB直接用紅字標示錯誤
: Unexpected MATLAB expression.
: 但我不太懂該如何處理eval裡面的'border'這種參數
: 麻煩各位高手不吝賜教
: 謝謝!
eval是把後面餵的字串當作指令執行
當你想要執行的指令有包含字串時
就要再包一個單引號如下
for p=1:7
figure
eval(['imshow(F',num2str(p),',''border'',''tight'')']);
end
多包個figure否則前圖會被後圖蓋過
更簡單的作法是一開始命名變數時就不要用F1,...,F7
改用F{1},...,F{7}
這樣就不用eval,也不用煩惱後面字串要怎麼變才不會出錯
for p=1:7
figure
imshow(F{p},'border','tight')
end
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.147.14
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1529627979.A.B91.html
推
06/22 10:53,
6年前
, 1F
06/22 10:53, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章