1
行列がMATLABにあるとします。MATLABの行列の任意の列から要素を削除する
>> m = [1 2 3; 4 5 6; 7 8 9]
m =
1 2 3
4 5 6
7 8 9
私はインデックスのリストを持っています。これらのインデックスの要素をマトリックスから削除したいと思います。
インデックスは任意の行または列に属します。しかし、行から要素を削除する場合は、他のすべての行から要素を削除する必要があります。
すべての要素が削除されたら、要素を左にシフトすることでマトリックスの「ギャップ」を解決する必要があります。
% for example, removing m(1, 1), m(2, 2), m(3, 3) should yield
m =
2 3
4 6
7 8
% it will NOT yield the following because the elements were shifted up, not to the left.
M =
4 2 3
7 8 6
% removing only m(1, 1) would also be invalid,
% because I must remove an element from all other rows.
任意の数のインデックスに対してこの操作を実行する最も効率的な方法は何でしょうか?
質問があいまいです有効な行列 "である。ソリューション[4,2,3; 7,8,6]も有効な解決策になりますか?各行と各列から同じ数の要素を削除することは保証されていますか? – Dave
@Dave私はあなたが意味するものを参照してください。最初はそれを私の注意を引くことに感謝しなかった。私は私の質問を明確にした。うまくいけばそれはあいまいさを取り除きます。 – Zsw