MATLAB Answers


Plotting asymptotic limits, interpolation

Asked by pxg882
on 21 Feb 2013

Hi, I'm plotting the following set of data

x = [0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0];
y = [1.7764 1.4849 1.3076 1.1857 1.0957 1.0257 0.9698 0.9235 0.8845];
cs = spline(x,y);
xx = linspace(0.6,1,401);
yy = ppval(cs,xx);
axis([0.6 1 0.8 1.8])

However, I know that for x=0.5 the data set tends asymptotically towards the y-axis. Is there a way I can add this into the plot whilst preserving the 'shape' of the interpolating spline? I've tried approximating this by adding in the point x=0.5 with say y=100, however the curve is not longer smooth.

Any help would be great.



Log in to comment.

1 Answer

Answer by José-Luis
on 21 Feb 2013

Let Matlab decide how to make your plot look smooth:

 myFun = @(x) ppval(cs,x)
 fplot(myFun,[0.5 1])


This does produce a smooth plot but it doesn't encapsulate the asymptotic behaviour of the function as x tends towards 0.5. Is there a way to force Matlab into taking behaviour into account?

What makes you think it is asymptotic? A cubic function never evaluates to infinity. Every piece in the spline is a cubic function. You would need to define the function you are thinking of for the [0.5 0.6] interval.

Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!