erasing particular rows of a vector

Dear all,
I have
A=[
0;
2;
34;
45
0;
12;
23;
12;
0;
23]
and I want to erase the rows that contain zero and the element that follows immediately after zero
So I want to erase the elements [0,2], [0,12] and [0,23]
Note that zeros can appear anywhere in the vector. The above vector is a simple example
thanks

 채택된 답변

Wayne King
Wayne King 2012년 8월 1일

0 개 추천

indices = find(A==0);
indices = [indices; indices+1]
A(indices) = [];

추가 답변 (1개)

Albert Yam
Albert Yam 2012년 8월 1일

0 개 추천

Look for the index of the elements that are zero. That is to say 'find' them. Once you have them, you know that those index '+1', are the rows that follow. Then remove them (all at once, or backwards).

카테고리

도움말 센터File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

질문:

2012년 8월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by