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
Aissam
2022 年 12 月 16 日
>> coeffs(1, :)
[0, 0, 1, 6]
represents
(x-pp.breaks(1))+6=x+5
その他の回答 (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!