i need to delete a zero from a single row 10 column vector
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Omar Almahallawy
el 28 de Abr. de 2019
Editada: Image Analyst
el 28 de Abr. de 2019
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
0 comentarios
Respuesta aceptada
Stephan
el 28 de Abr. de 2019
A = [0 1 2 3 0 5]
A = A(A~=0)
3 comentarios
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'))=[];
Más respuestas (2)
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
el 28 de Abr. de 2019
Editada: madhan ravi
el 28 de Abr. de 2019
v(indexes(1) = []; % Do the deletion.
^--- missed a paranthesis
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);
0 comentarios
Ver también
Categorías
Más información sobre Structures en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!