Increasing number of points in a plot without ruining the shape

How can I make this plot look like
this plot but instead of reducing points I want to increase data points in red plot to 20. Using linspace or interp1 is giving me a straight line. I want to conserve the shape of the plot and increase the number of points in the plot.

 Risposta accettata

Is it correct? (Not tested)
x1red = linspace(xred(1),xblue(end),20); % more points for red curve
% scaling red curve (make it as long as blue one)
Lred = xred(end) - xred(1);
Lblue= xblue(end) = xblue(1);
xred_scaled = xred(1) + (xred-xred(1))*Lblue/Lred;
y1red = interp1(x_red_scaled,yred,x1red);
plot(xblue,yblue,'b')
hold on
plot(x1red,y1red,'r')
hold off

Più risposte (1)

Stephen23
Stephen23 il 20 Ago 2019
Modificato: Stephen23 il 20 Ago 2019
Try using method spline or pchip and see if they do what you want:
interp1(...,'pchip')

1 Commento

Writing "it's not working" tells us nothing. If you want further help then please:
  • tell us if you are extrapolating the data.
  • show the exact code that you are using.
  • upload sample data in a .mat file.
  • show or explain how the expected output is different to what you get.

Accedi per commentare.

Categorie

Scopri di più su 2-D and 3-D Plots in Centro assistenza e File Exchange

Prodotti

Release

R2019a

Richiesto:

il 20 Ago 2019

Risposto:

il 20 Ago 2019

Community Treasure Hunt

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

Start Hunting!

Translated by