i need to delete a zero from a single row 10 column vector
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Omar Almahallawy
am 28 Apr. 2019
Bearbeitet: Image Analyst
am 28 Apr. 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 Kommentare
Akzeptierte Antwort
Stephan
am 28 Apr. 2019
A = [0 1 2 3 0 5]
A = A(A~=0)
3 Kommentare
madhan ravi
am 28 Apr. 2019
Bearbeitet: Image Analyst
am 28 Apr. 2019
To delete the first zero entry ONLY:
A(find(A==0,1,'first'))=[];
Weitere Antworten (2)
Image Analyst
am 28 Apr. 2019
Bearbeitet: Image Analyst
am 28 Apr. 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 Kommentare
madhan ravi
am 28 Apr. 2019
Bearbeitet: madhan ravi
am 28 Apr. 2019
v(indexes(1) = []; % Do the deletion.
^--- missed a paranthesis
dpb
am 28 Apr. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!