x = [1 2 3 4 5
1 2 3 0 0];
Я хочу, чтобы выйти все нули и объединить два рядаКак объединить элементы в матрице
newx = x(:,1) + x(:,2)(nonzeros)
= [1 2 3 4 5 1 2 3];
x = [1 2 3 4 5
1 2 3 0 0];
Я хочу, чтобы выйти все нули и объединить два рядаКак объединить элементы в матрице
newx = x(:,1) + x(:,2)(nonzeros)
= [1 2 3 4 5 1 2 3];
nonzeros
даст вам ненулевых в вектор-столбец, вы просто должны ориентироваться на исходную матрицу правильно и транспонировать в вектор-строку (если это то, что вы хотите):
>> newx = nonzeros(x.').'
newx =
1 2 3 4 5 1 2 3
newx=x.'; %Taking Transpose
% Converting the given matrix into a column vector and then taking transpose again
% (since you require answer as a row vector)
newx=newx(:).' ;
newx(newx==0)=[] %Removing zeros
или с использованием reshape
:
newx = reshape(x.',1,[])
newx(newx==0)=[] %Removing zeros
Результат:
newx =
1 2 3 4 5 1 2 3
+ л, что намного лучше –