私はマトリックスを持っています:
A = [ 4567 345; 45 6787; 3345ナン。87 6787]
とベクトル
B = [ 4567; 45; 8976 ]
A と B を比較し、行列 B に含まれる少なくとも 1 つの数値を持たないすべての行を A で削除したいと考えています。
結果のマトリックスは次のようになります。
[ 4567 345;
45 6787 ]
コードは次のとおりです。
idx=ismember(A(:,1:2),B); %%create a logical index in order to see if A includes elements of B
n = length(A)
for i=1:n
if (idx(i,1)==0)& (idx(i,2)==0)
A(i,:)=[];
end
end
ただし、次のエラーが発生しました。
Index of element to remove exceeds matrix dimensions.
別の解決策を試しましたが、同じエラーが発生します。
n = length(A)
for i=1:n
if (find(idx(i,1)==0))& (find(idx(i,2)==0))
A(i,:)=[];
end
end