Cubic spline interpolation with slope at left end equal to zero?

10 次查看(过去 30 天)
Hi, all,
I am doing a cubic spline interpolation with some data points. I want the slope at the left end to be zero and don't do anything to the slope at the right end(In the online example, both slope at both ends are forced to be zero). Does anyone know how to do this? Thank you.
Here is my data points:
if true
x = [0,0.152789493879,0.305539702586,0.458371723707,...
0.59356259,0.728929965449,0.864429595769,1];
y = [0,0.013083199999528,0.155041100006201,0.209241100004874,...
0.178395800001454,0.093888600007631,-0.033515100003569,-0.196524899991346];
end
  2 个评论
Qingjie
Qingjie 2014-4-25
Physically, the left point is a energy minimum point, which means the slope should be zero. But due to the limited number of data points, I guess spline interpolation cannot produce a zero slope at the left point.

请先登录,再进行评论。

采纳的回答

John D'Errico
John D'Errico 2014-4-25
My SLM tool box will let you create an interpolating spline with the properties you desire.
pp = slmengine(x,y,'knots',x,'leftslope',0,'result','pp');
There are many other things it can do, but this is a simple one. You can get the result in a pp form as I show, or in my own SLM format.
  3 个评论
John D'Errico
John D'Errico 2014-4-26
编辑:John D'Errico 2014-4-26
No. Never put downloaded files in the MATLAB toolbox directories. This will cause problems. Instead, put the downloaded (unzipped) directory some place on your drive, then add that directory to your MATLAB search path. (Use pathtool for this, saving the new search path afterwards.)
Qingjie
Qingjie 2014-4-30
Thank you very much John. It works really well. Also thank you for a very wonderful comment on my previous question on nonlinear fitting.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Splines 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by