Check a column, if a condition is met use those value

20 vues (au cours des 30 derniers jours)
sivalogan satchithanandamoorthy
Modifié(e) : Jan le 19 Juin 2017
I have excel file containing cyclic data of 25 by 1000. Let say column 3 represent cycle. i was able to plot the data for all cycle. The problem is I am not sure how to plot for specific cycle. sample date could be: A=[1,2,1,4,5;6,7,1,9,10;11,12,1,14,15;16,17,2,19,20;21,22,2,24,25;26,27,2,29,30]
My question is how to chose date from other column when column 3 is specific cycle.(it could be 1, 2, 3 or 1 to 5 or 10 11 13).
Any help would ne much appricated

Réponse acceptée

KSSV
KSSV le 19 Juin 2017
A=[1,2,1,4,5;6,7,1,9,10;11,12,1,14,15;16,17,2,19,20;21,22,2,24,25;26,27,2,29,30] ;
%%pick cycle 1
c1 = A(A(:,3)==1,:)
%%pick cycle 2
c2 = A(A(:,3)==2,:)
  1 commentaire
Jan
Jan le 19 Juin 2017
Modifié(e) : Jan le 19 Juin 2017
+1. And pick cycles 1 to 5:
c1_5 = A(A(:,3) >= 1 & A(:,3) <= 5, :)
or
c1_5 = A(ismember(A(:,3), 1:5), :)

Connectez-vous pour commenter.

Plus de réponses (1)

Guillaume
Guillaume le 19 Juin 2017
If all the cycles are the same length and all the samples from a cycle are together, as in your example, you would be better off reshaping your matrix as 3D, with the cycles in the 3rd dimension
A = reshape(A, cyclelength, size(A, 2), []); %where cyclelength is the length of a cycle
It is then trivial to plot any cycle:
hold on
for cyclenumber = 1 : size(A, 3)
plot(A(:, 1, cyclenumber)) %plot column 1 of cycles, for example
end

Catégories

En savoir plus sur Dialog Boxes dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by