楼主:
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))';