0

次のようなマトリックスがあります。

A= [5 3 2 1 5 6;
    3 2 5 1 5 3] 

2 行目から数字の 1 を削除し、(数字の 5 と 3) を左にシフトする必要があります。結果は次のようになります。

A= [5 3 2 1 5 6;
    3 2 5 5 3 X]

この数がどうなろうと、X を付けました。A のサイズは変更できません。

4

1 に答える 1

2

これは、削除するベクトル内の要素の位置を指定NaNし、最後にパディングして長さを同じに保つ機能です。

function newVec = removeElements(oldVec, elementsToRemove)
    %//You should add some error checking here regarding the sizes of the matrices and making sure you're not out of bounds etc
    newVec = [oldVec NaN(length(elementsToRemove))];
    newVec(elementsToRemove) = [];
end

このように使用します

A= [5 3 2 1 5 6;
    3 2 5 1 5 3];

A(2, :) = removeElements(A(2,:), 4);
于 2013-10-02T06:37:13.507 に答える