How to get an equation for a cubic spline using the spline function?
53 次查看(过去 30 天)
显示 更早的评论
Say I have two sets of data, x and y, such that
x = [1,2,3,4,5] y = [6,7,8,9,10]
t = linspace(1,5,100) Finding the cubic spline using the function:
splineX = spline(x,y,t);
I have used the command to be able to plot function splineXbut I'm not sure how I can find the actual equation the spline function calculates
(I know that for this data it would simply be a straight line but I only used this to better articulate what I'm trying to find)
0 个评论
采纳的回答
Joshua Long
2016-10-26
When you pass in a third parameter, the "spline" function automatically evaluates the spline for those points using "ppval". If you only pass in two parameters, "spline" returns a struct representing the spline created. The coefficients for the piecewise polynomials can be extracted using the function "unmkpp".
>> x = [1,2,3,4,5];
>> y = [6,7,8,9,10];
>> pp = spline(x, y);
>> [~, coeffs] = unmkpp(pp);
Each row of "coeffs" has the coefficients for one of the piecewise polynomials at each break.
For example:
>> coeffs(1, :)
is
[0, 0, 1, 6]
representing the function "x + 6".
2 个评论
farouk messaoud
2018-10-22
hey; I have data to fit by cubic B-spline; How can I get the piecewise equations of the curves and the knot vector? thank you sir
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Splines 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!