How spline extrapolate?
7 次查看(过去 30 天)
显示 更早的评论
Hi all, I appreciate it if anyone inform me of this question:
I want to use spline command as p=spline(x,y) and then use the coefficients that are stored in the p, which is a structure object, to evaluate a function at nodes that are not in x, say xx=[0.5*x(1):0.1:2*x(end)].
I know that for the points below x(1), the evaluation takes the first break point in the p, like
a_0+a_1*(x-x(1))+a_2*(x-x(1))^2 + a_3*(x-x(1))^3
However, I am not sure how it is done for points beyond the last break point that is stored in p. I appreciate any help
0 个评论
回答(1 个)
Torsten
2016-6-23
It does not make any sense at all to evaluate splines below x(1) or above x(end).
Best wishes
Torsten.
2 个评论
John D'Errico
2016-6-24
编辑:John D'Errico
2016-6-24
Torsten is entirely correct. You will get a prediction of no value beyond those points. For example, in my own spline tools, I tend to use only constant extrapolation, unless the user explicitly forces the tool to do more. I do this because of the danger of extrapolation.
Can you extrapolate a spline created by spline? Yes. It will do so. In fact, a tool like ppval simply evaluates that same cubic polynomial. But doing so outside of the support of the simple will yield a result of little value. This is simply a bad idea in general.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Splines 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!