作者qaz3869153 (mj)
看板MATLAB
標題[討論] 矩陣 if判斷
時間Thu Aug 20 22:58:27 2015
各位matlab神人 新手小弟剛接觸不久 有些問題想發文
A1=[1 4;2 3]
A2=[4 2;2 2]
M=max(A1,A2)
如果M=A1則進行(A1+A2)+2
否則進行(A1-A2)+1
然後將執行的結果放置於同一個矩陣中
以下為小弟的程式碼
A1=[1 4;2 3]
A2=[4 2;2 2]
M=max(A1,A2)
for i=1:2
j=1:2
if M==A1
a=(A1+A2)+2
else
a= (A1-A2)+1
end
end
上述不知那裡出了錯誤
請各位神人幫我解答下 謝謝
(若有不清楚 在麻煩告知)
--
Sent from my Android
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.8.98.177
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1440082709.A.993.html
1F:→ celestialgod: if all(M==A1)08/20 23:14
※ 編輯: qaz3869153 (39.8.98.177), 08/20/2015 23:24:49
2F:→ ja20331: 迴圈白寫的意思,i,j都沒用到,還有M是一個矩陣,在迴圈 08/20 23:46
3F:→ ja20331: 內我猜你要把矩陣元素拿出來比對,那M要改成M(i,j),其他 08/20 23:46
4F:→ ja20331: 變數亦同,可以的話迴圈前多寫a=zeros(2); 08/20 23:46
5F:→ celestialgod: 如果是個別比較不如直接 08/20 23:49
6F:→ celestialgod: (M==A1) .* (A1+A2+2) + (M~=A1) .* (A1-A2+1) 08/20 23:49
7F:→ qaz3869153: 歐對 我是要將矩陣裡的各元素抓出來比較判斷的 感謝 08/20 23:52
8F:→ qaz3869153: 兩位 08/20 23:52
9F:→ qaz3869153: 也就是說我要將(1,1)元素 抓出來判斷 如果最大值是A1 08/20 23:57
10F:→ qaz3869153: 的元素 就執行對應的算法 就這樣算4次 所以我才寫了fo 08/20 23:57
11F:→ qaz3869153: r迴圈 然後將所算出來的值分別放入一個a矩陣 08/20 23:57
12F:→ ja20331: 推薦樓上寫法,也可改成(A1>=A2) .* (A1+A2+2) + (A1<A2) 08/21 00:03
13F:→ ja20331: .* (A1-A2+1) 08/21 00:03
14F:→ qaz3869153: 感謝兩位大大 問題已經解決了哈哈 08/21 00:09