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

2 views (last 30 days)
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

Accepted Answer

Stephan
Stephan on 28 Apr 2019
A = [0 1 2 3 0 5]
A = A(A~=0)
  3 Comments
madhan ravi
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'))=[];

Sign in to comment.

More Answers (2)

Image Analyst
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

dpb
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);

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!