Removing rows from a column depending on another column
Show older comments
Hello,
I need a little bit of help with this problem. I will explain it the best I can then give a basic example below. Basically I have two column vectors. I am trying to split one of them up depending on the other. Basically I have:
Cp=[0;0.2;0.4;0.6;0.8;1;1.2;1.4];
Cf=[0;1;2;3;4;5;6;7;8];
I am trying to split up Cf depending on when Cp hits 1. So essentially, when Cp<=1 I am trying to obtain a column for Cf with only those values. So the resultant Cf would be:
Cf_new=[0;1;2;3;4;5]
So the only values obtained for Cf are when the corresponding row of Cp is less than or equal to 1. I hope this makes sense. Thank you
Accepted Answer
More Answers (2)
the cyclist
on 8 Sep 2013
Cf_new = Cf(Cp<=1);
4 Comments
Christopher
on 8 Sep 2013
Azzi Abdelmalek
on 8 Sep 2013
Adapt your code to 0.99 instead of 1
Christopher
on 8 Sep 2013
Image Analyst
on 8 Sep 2013
That's a different question than you first asked. How are you defining "peak"? There is a findpeaks() function in the Signal Processing Toolbox. Or else you could just call diff(Cp) and look for the first negative value - it just depends on how you want to define a "Peak."
Andrei Bobrov
on 8 Sep 2013
Edited: Andrei Bobrov
on 8 Sep 2013
out = Cf(1:find(Cp>=.99,1,'first'));
Categories
Find more on Descriptive Statistics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!