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

20 views (last 30 days)
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

Accepted Answer

KSSV
KSSV on 19 Jun 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 Comment
Jan
Jan on 19 Jun 2017
Edited: Jan on 19 Jun 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), :)

Sign in to comment.

More Answers (1)

Guillaume
Guillaume on 19 Jun 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

Categories

Find more on Dialog Boxes in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!