1
我在矩陣A
的Matlab中的尺寸爲MxN
和尺寸爲1xN
的兩個行向量B
和D
。我想知道將B
與A
的每一行進行比較的最快方法。所有元素都是1
或0
。在Matlab中比較行向矩陣與向量的快速方法
具體來說,
A=[ 1 1 1;
1 1 0;
1 0 1;
1 0 0;
0 1 1;
0 1 0;
0 0 1;
0 0 0];
B=[1 1 1];
D=[1 0 0]
我想要構造尺寸Mx1
的矩陣C
與C(i)=1
如果
B(1,1)>=A(i,1)
和B(1,2)>=A(i,2)
和... B(1,N)>=A(i,N)
和
D(1,1)<=A(i,1)
和D(1,2)<=A(i,2)
和... D(1,N)<=A(i,N)
和
B(:)
爲A(i,:)
和
D(:)
不同的是A(i,:)
不同在這個例子中要做到這一點可能是
lownew=repmat(D,size(A,1),1);
greatnew=repmat(B,size(A,1),1);
C=(sum(lownew<=A,2)==N & sum(greatnew>=A,2)==N & sum(lownew==A,2)~=N & sum(greatnew==A,2)~=N);
C=[0;1;1;0;0;0;0;0];
一種方法是有什麼更快的方法?我的實際矩陣A
的尺寸大於10^6
。
謝謝你,我已經制定了多一點我的問題。你能看看嗎? – user3285148
嘿,不要在答案後改變那樣的問題。請提出另一個問題。無論如何,我會編輯我的答案。 – Ratbert