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

作者: haha13 (小偉)   2020-11-06 14:43:06
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)
矩陣元素行列位置怎麼加進去?
感謝
作者: profyang (prof)   2020-11-06 20:23:00
eval(sprintf('a%d(1:300,7)',i)); 但是還是那句話...不要用eval...過幾個月你自己都看不懂...除非是別人給你的程式碼之類的 a5這種東西不能改成a{5}
作者: sppmg (sppmg)   2020-11-07 22:18:00
eval == evil,能避就避。

Links booklink

Contact Us: admin [ a t ] ucptt.com