MATLAB Answers

0

Increasing number of points in a plot without ruining the shape

Asked by Abhiraj Gupta on 20 Aug 2019 at 4:06
Latest activity Answered by darova
on 20 Aug 2019 at 12:02
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.

  0 Comments

Sign in to comment.

Products


Release

R2019a

2 Answers

Answer by darova
on 20 Aug 2019 at 12:02
 Accepted Answer

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

  0 Comments

Sign in to comment.


Answer by Stephen Cobeldick on 20 Aug 2019 at 4:37
Edited by Stephen Cobeldick on 20 Aug 2019 at 4:38

Try using method spline or pchip and see if they do what you want:
interp1(...,'pchip')

  1 Comment

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.

Sign in to comment.