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

2 ビュー (過去 30 日間)
Omar Almahallawy
Omar Almahallawy 2019 年 4 月 28 日
編集済み: Image Analyst 2019 年 4 月 28 日
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

採用された回答

Stephan
Stephan 2019 年 4 月 28 日
A = [0 1 2 3 0 5]
A = A(A~=0)
  3 件のコメント
Omar Almahallawy
Omar Almahallawy 2019 年 4 月 28 日
Thnak you!!
madhan ravi
madhan ravi 2019 年 4 月 28 日
編集済み: Image Analyst 2019 年 4 月 28 日
To delete the first zero entry ONLY:
A(find(A==0,1,'first'))=[];

サインインしてコメントする。

その他の回答 (2 件)

Image Analyst
Image Analyst 2019 年 4 月 28 日
編集済み: Image Analyst 2019 年 4 月 28 日
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 件のコメント
madhan ravi
madhan ravi 2019 年 4 月 28 日
編集済み: madhan ravi 2019 年 4 月 28 日
v(indexes(1) = []; % Do the deletion.
^--- missed a paranthesis
Image Analyst
Image Analyst 2019 年 4 月 28 日
You're right - thanks - fixed.

サインインしてコメントする。


dpb
dpb 2019 年 4 月 28 日
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);

カテゴリ

Help Center および File ExchangeVariables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by