Re: [問題] eval搭配imshow時,包含參數'border'

看板MATLAB作者 (eji)時間6年前 (2018/06/22 08:39), 編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串2/2 (看更多)
※ 引述《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
謝謝ejialan,問題已解決,太感謝了!!!!
06/22 10:53, 1F
文章代碼(AID): #1RB4LBkH (MATLAB)
文章代碼(AID): #1RB4LBkH (MATLAB)