(請益)想請教高手一個問題已回收
這是一個關於矩陣的問題
假設現在有一個矩陣M
M為一個2*2的矩陣
M = 1 1
2 2
寫這個程式想要處理的事情是
要比較每一列的元素值
例如:因為M(1,1)=M(1,2)=1
要產生M(1,3)=M(3,1)=1
且M(1,1)與M(1,2)的值要變成0
而M(2,1)=M(2,2)=2
要產生M(2,3)=M(3,2)=2
M(2,1)與M(2,2)的值也要變成0
我寫的方式是
for i=1:m
for j=1:(m-1)
if M(i,j)==M(i,j+1) & M(i,j+1)~=0;
m=m+1;
M(i,m)=M(i,j);
M(m,i)=M(i,m);
M(i,j)=0;
M(i,j+1)=M(i,j);
elseif M(i,j)~=M(i,j+1)
M=M
end
end
end
如果以上面那例子來跑
矩陣會變成
0 0 1 0
0 0 0 2
1 0 0 0
0 2 0 0
但我想要的結果是
0 0 1
0 0 2
1 2 0
請請教各位高手我應該修改哪個部份才能達到我想要的呢!?
因為這是2*2的矩陣,所以能比較的只有每一列中的兩個值
如果擴展到更大的矩陣,那比較的將會是每一列中的倆倆互相比較或是三個一起比
甚至更多。
我寫的只是兩兩比較,如果有三個以上,就不知道該如何處理。
希望有高手幫忙解救我這個新手> <
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.92.218
→
03/29 16:43, , 1F
03/29 16:43, 1F
→
03/29 17:07, , 2F
03/29 17:07, 2F
→
03/29 17:09, , 3F
03/29 17:09, 3F
→
04/19 03:47, , 4F
04/19 03:47, 4F