i need to delete a zero from a single row 10 column vector

2 visualizaciones (últimos 30 días)
how can i delete this first 0
1.0e+03 *
0 1.0794 0.9376 0.8301 0.7477 0.6838 0.5939 0.5366 0.4988 0.4732
so it would look like this
1.0e+03 *
1.0794 0.9376 0.8301 0.7477 0.6838 0.5939 0.5366 0.4988 0.4732

Respuesta aceptada

Stephan
Stephan el 28 de Abr. de 2019
A = [0 1 2 3 0 5]
A = A(A~=0)
  3 comentarios
madhan ravi
madhan ravi el 28 de Abr. de 2019
Editada: Image Analyst el 28 de Abr. de 2019
To delete the first zero entry ONLY:
A(find(A==0,1,'first'))=[];

Iniciar sesión para comentar.

Más respuestas (2)

Image Analyst
Image Analyst el 28 de Abr. de 2019
Editada: Image Analyst el 28 de Abr. de 2019
To delete only the FIRST zero (not all zeros) here is one way.
indexes = find(v == 0);
if ~isempty(indexes) % Only try to delete if we actually FOUND a zero!
v(indexes(1)) = []; % Do the deletion.
end
  2 comentarios
madhan ravi
madhan ravi el 28 de Abr. de 2019
Editada: madhan ravi el 28 de Abr. de 2019
v(indexes(1) = []; % Do the deletion.
^--- missed a paranthesis
Image Analyst
Image Analyst el 28 de Abr. de 2019
You're right - thanks - fixed.

Iniciar sesión para comentar.


dpb
dpb el 28 de Abr. de 2019
As we've covered the other cases pretty thoroughly...
For the specific input vector OP showed where it is almost certain it is known a priori the first value in the array is zero from outside knowledge of what created the vector in the first place, simply
A=A(2:end);

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by