i need to delete a zero from a single row 10 column vector
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Stephan
on 28 Apr 2019
A = [0 1 2 3 0 5]
A = A(A~=0)
3 Comments
madhan ravi
on 28 Apr 2019
Edited: Image Analyst
on 28 Apr 2019
To delete the first zero entry ONLY:
A(find(A==0,1,'first'))=[];
More Answers (2)
Image Analyst
on 28 Apr 2019
Edited: Image Analyst
on 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 Comments
madhan ravi
on 28 Apr 2019
Edited: madhan ravi
on 28 Apr 2019
v(indexes(1) = []; % Do the deletion.
^--- missed a paranthesis
dpb
on 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 Comments
See Also
Categories
Find more on Variables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!