how to split column vector when 0 come?

조회 수: 3 (최근 30일)
Sagar Dhage
Sagar Dhage 2014년 9월 10일
편집: Robert Cumming 2014년 9월 10일
I have a column vector A= (0;23;45;64;34;3;0; 12; 14;0; 12;354;13;324;25;254;0) I want to split A column vector when ) values 0 come, such that i should get A1= (0;23;45;64;34;3;0) A2= (0; 12; 14;0) A3=(0; 12;354;13;324;25;254;0)

답변 (1개)

Robert Cumming
Robert Cumming 2014년 9월 10일
편집: Robert Cumming 2014년 9월 10일
You could do:
A= [0;23;45;64;34;3;0; 12; 14;0; 12;354;13;324;25;254;0];
index = find(A==0);
for ii=1:length(index)-1
data.(sprintf('A%i',ii)) = A(index(ii):index(ii+1));
end
Note: I have saved the data in fields in a struct called data - so you get:
data.A1
data.A2
data.A3
edit added link below
This is a better way that using eval to create A1, A2 or A3 for example. See this question and answer for an excellent explanation on why...
  댓글 수: 1
Sagar Dhage
Sagar Dhage 2014년 9월 10일
Thanks Robert. I would be great if we can save A1, A2, A3 in separate column.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by