how to split column vector when 0 come?
Afficher commentaires plus anciens
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)
Réponses (1)
Robert Cumming
le 10 Sep 2014
Modifié(e) : Robert Cumming
le 10 Sep 2014
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 commentaire
Sagar Dhage
le 10 Sep 2014
Catégories
En savoir plus sur Structures dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!