作者:
Lionel (祝福與成全)
2015-03-22 16:21:46問題:
A=[0 1 3 4;
5 6 1 1;
7 0 1 8;
9 0 0 0;]
如果A矩陣(4*4)的一個元素/2後大於1
想要得到結果是B(1*N)矩陣 %N的大小由A決定
B=[3 4 5 6 7 8 9]
該如何寫code
my code
A=[0 1 3 4;
5 6 1 1;
7 0 1 8;
9 0 0 0;]
for i=1:3
for j=1:4
if a(i,j)/2>1
end
end
end
if裡面要放什麼我就想不出來了....
設一個變數k=1,if成立assign B(k)為A(i, j),而且k遞增我覺得A(A/2>1)應該出的來
就3F那樣就好了 matlab就是盡量不要寫迴圈不過可能你要先定義C=A'然後B=C(C/2>0)出來才是你要的B1你真的想寫迴圈的話 外面先定B=[];然後迴圈裏面就B=[B;a(i,j)]
作者:
Lionel (祝福與成全)
2015-03-22 21:50:00主要是我的if是在call別的矩陣 我只是把問題縮小來問其實我也很討厭跑for 會很慢
假設你別的矩陣是D 你一樣可以寫A(D/2>1) 只要A和D這兩矩陣size一樣
作者: ja20331 (沒有) 2015-03-23 00:13:00
A=A'; B=A(find(A/2>1))';