how to perform one plot

3 Ansichten (letzte 30 Tage)
Stefano
Stefano am 30 Jul. 2014
Kommentiert: Star Strider am 30 Jul. 2014
Hi, I am waiting for to optimize the plot of some arrays I attached my figure to showing you my problem: I would to obtain a "cleaned" curve. I tried with the following code but it is not the solution:
my_datax = min(x):10:max(x)
my_datay = min(y):10:max(y)
neither with others steps
Do you have any suggestions? Thank you
  2 Kommentare
Ahmet Cecen
Ahmet Cecen am 30 Jul. 2014
What exactly do you mean when you say "cleaned"? Explain very explicitly what you would like to see as the end result.
Stefano
Stefano am 30 Jul. 2014
I would to see a light line such as the last section

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Star Strider
Star Strider am 30 Jul. 2014
It looks as though you are plotting:
plot(my_datax, my_datay, '-*')
Change the plot to:
plot(my_datax, my_datay, '-')
to plot the line without the markers.
  9 Kommentare
Image Analyst
Image Analyst am 30 Jul. 2014
See my attached demo of polyfit and I think you'll easily be able to see how you can adapt it to your data.
Star Strider
Star Strider am 30 Jul. 2014
Stefano — If you know the model, I can help you do the nonlinear parameter estimation to characterise your data. That is easiest if you have the Statistics Toolbox or the Optimization Toolbox, but is only slightly more difficult using fminsearch. If you post your model and attach at least one of your data sets (so I can test my code), we can work together on coding it and then doing the parameter estimation. You will probably have to explain the model to me if it is not in an area of my expertise, but unless it is an extremely complicated model, coding and estimating it should not be difficult.
IA — Thank you. That seems to be a well-received demo.

Melden Sie sich an, um zu kommentieren.


Joseph Cheng
Joseph Cheng am 30 Jul. 2014
Bearbeitet: Joseph Cheng am 30 Jul. 2014
Depending on what you're trying to display (no labeled axes) perhaps using sort() or sortrows() to order the data in relation to x-axis data. This way there shouldn't be any back tracing in the plot.
Additionally sorting should help if you're looking at the "double" curve line for the cyan. After sorting you should be able to pick the max point of a rolling window. Sort of how a convolution would scan across the data and take the average but instead take the maximum/minimum/median/etc to get the desired curve. If these points under the curve occur at the same points that are above them you could also filter them out by finding the repeated x-axis points and use the maximum y values for the repeated points.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by