Removing rows from a column depending on another column

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

 Réponse acceptée

Regarding your new question about extracting values of Cf only up to and including the index of the peak in Cp:
Cp=[0.2 0.4 0.8 0.99 0.8 0.4 0.2]
Cf=[0;1;2;3;4;5;6;7;8]
peakIndex = find(diff(Cp) < 0, 1, 'first')
Cf_new = Cf(1 : peakIndex)
In the command window:
Cp = 0.2 0.4 0.8 0.99 0.8 0.4 0.2
Cf =
0
1
2
3
4
5
6
7
8
peakIndex =
4
Cf_new =
0
1
2
3

Plus de réponses (2)

Cf_new = Cf(Cp<=1);

4 commentaires

I am sorry I made a mistake. My column for Cp never goes above 1 it peaks very close to 1. So it is something like this:
Cp=[0.2 0.4 0.8 0.99 0.8 0.4 0.2];
So I am trying to obtain Cf for when Cp peaks at 0.99 and below. I apologize for the mistake.
Adapt your code to 0.99 instead of 1
Yes, but the problem is all the values are less than 0.99, so it returns the entire original Cf column. Some how I need to obtain the number of rows from the beginning of Cf until it hits the peak.
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."

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with MATLAB 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!

Translated by