[問題]矩陣代號以eval(['a' int2str(i)])代替

看板MATLAB作者 (小偉)時間3年前 (2020/11/06 14:43), 編輯推噓1(103)
留言4則, 2人參與, 3年前最新討論串1/1
a1、a2、a3…a13共13個矩陣 i=1~13是隨機取數 譬如隨機取到i=5也就是取到a5矩陣 若要運算max(a5(1:300,7)) k=eval(['a' int2str(i)]); %k矩陣等於a5矩陣 max(k(1:300,7)); %即為max(a5(1:300,7)) 能不能簡化不要有代號k k(1:300,7)直接寫成eval(['a' int2str(i)])加上(1:300,7) 矩陣元素行列位置怎麼加進去? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.104.132 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1604644988.A.C23.html

11/06 20:23, 3年前 , 1F
eval(sprintf('a%d(1:300,7)',i)); 但是還是那句話...不
11/06 20:23, 1F

11/06 20:23, 3年前 , 2F
要用eval...過幾個月你自己都看不懂...除非是別人給你的
11/06 20:23, 2F

11/06 20:24, 3年前 , 3F
程式碼之類的 a5這種東西不能改成a{5}
11/06 20:24, 3F

11/07 22:18, 3年前 , 4F
eval == evil,能避就避。
11/07 22:18, 4F
文章代碼(AID): #1VfF1ymZ (MATLAB)
文章代碼(AID): #1VfF1ymZ (MATLAB)