Is there a way to mathematically separate curves by shape?

3 views (last 30 days)
I have 1000 plots displaying the same type of data. Each plot has 4 curves.
2 of these curves are called the G lines and the other two are called the S lines.
"Proper" G lines are not supposed to cross, they are supposed to have a relatively flat linear portion and an exponentially increasing portion afterwards. Proper S lines are supposed to be flat and linear throughout.
However, among the original 1000 plots, some are "improper" (linear portion of G or S line has a negative slope, the two G lines cross, exponential portion of G lines are not "exponential" enough, etc.). There are eight different ways that a PLOT can be improper based on the shapes of the four curves.
The problem asks me to write an algorithm that analyzes these 1000 plots and first mathematically determines which plots are proper/improper and then separate the improper plots into the eight different improper forms.
MOST IMPORTANT: This needs to be done in such a way that I can be given any plot not in the original 1000 and be able to mathematically determine whether it is proper/improper and, if necessary, characterize it into one of the eight improper modes.
  5 Comments
Sy
Sy on 3 Jul 2012
Edited: Sy on 3 Jul 2012
Thanks for the response, Stephen. I made the plots myself using x and y data. What I want to do is figure out how to write an algorithm that can separate the plots into proper/improper and then put the improper ones into one of the improper categories. This needs to be done in such a way that I can take ANY plot of similar data (not in the original 1000), feed it into the algorithm and MATLAB will spit out whether it is proper/improper and which improper type it is.
I'm not asking you to do it for me. That's why I didn't include any of the numbers or code. I'm just asking for someone to lead me in the right direction or direct me to a useful function as you have done.
Sean de Wolski
Sean de Wolski on 3 Jul 2012
Well diff will be a useful one. It will tell you the numerical derivative of the data.

Sign in to comment.

Answers (0)

Categories

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