-1

for次のように与えられる loop を使用して生成された行列があるとします。

A = [ 1 3 4 ;...
      5 8 9 ;...
      6 3 8 ]

与えられた行列から別の行列を次のように生成するとしますA

B = [ 5 3 8 ]

私の質問は次のとおりです。列ごとの要素のみBを削除して、行列を生成したいと思います。A

出力

C = [ 1 8 4 ;... 
      6 3 9 ]

Matlabを使用してこれを行う方法は?

4

1 に答える 1

1

これは、各行から削除される要素の数が同じであると仮定して機能するはずです。

A = [1 3 4; 5 8 9; 6 3 8];
B = [3 5 8];

C = A';
C(find(A' == repmat(B, size(A, 2), 1))) = [];
C = reshape(C, [], size(A, 1))'
于 2013-02-11T05:52:09.760 に答える