Filtering values from a curve

3 views (last 30 days)
Shalini
Shalini on 26 Jan 2013
I have a curve x vs. y and I'm reading into Matlab through excel (xlsread).
I want to filer some values off. I want to filter the y (and corresponding x of course) which are greater than a ceratin value (1500).
How can I achieve this please?
Please help...I shall be grateful

Accepted Answer

Wayne King
Wayne King on 26 Jan 2013
Edited: Wayne King on 26 Jan 2013
Sounds like you want to remove y-values greater than a certain value.
One way:
idx = find(y>1500);
% now remove the y values and the corresponding x-values
y(idx) = [];
x(idx) = [];
Note that if your x-values were originally evenly-spaced, the above will alter that spacing. Not sure if that is important. There are other things you can do that will preserve the equal spacing. For example, you can set y-values greater than 1500 to NaN (not a number)
y(y>1500) = NaN;

More Answers (0)

Categories

Find more on Line Plots 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!