[問題]如何決定一個不確定名字矩陣中的值

看板MATLAB作者 (阿咪古)時間12年前 (2013/05/25 16:21), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
for i:100 if Data(i,9) == a; %假設a=123456 eval(['A' num2str(a) ' = M']); %定義A123456=一個零矩陣M for j=1:100; if A123456(j,1) == 0; 但我這邊想要用一個變數來命名 像是 if Aa(j,1) == 0; [A123456(j,1)==0] 但這樣是無效的 請問有什麼方法可以改善這個問題嗎? A123456(j,1) = 123456; break end end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.20.209 ※ 編輯: amigoo 來自: 140.116.20.209 (05/25 16:24) ※ 編輯: amigoo 來自: 140.116.20.209 (05/25 16:26) ※ 編輯: amigoo 來自: 140.116.20.209 (05/25 16:32)

05/25 17:21, , 1F
eval['if A' num2str(a),'(j,1)==0; A',...
05/25 17:21, 1F

05/25 17:22, , 2F
num2str(a) '(j,1)=' num2str(a) '; break; end'];
05/25 17:22, 2F

05/26 00:02, , 3F
也不稍微回報一下有沒有看到或是有沒有用之類...丟了就走嗎
05/26 00:02, 3F
j大你好,很抱歉現在才回你文,但我確實是剛剛才看到推文, 如果造成你的不便很不好意思,我也試過你提供的方法了,謝謝 但還是有幾個小地方要修正告知你 (1) eval([])有小括號要加 (2)我在使用時發現在break不能直接放在eval裡面,否則程式會認為是eval內的運算 所以要把break拿出eval外才有效 [編輯第二點] 謝謝j大的幫忙 ※ 編輯: amigoo 來自: 140.116.20.209 (05/26 01:52) ※ 編輯: amigoo 來自: 218.164.3.179 (05/26 19:17)
文章代碼(AID): #1He7HqBl (MATLAB)