How to get an equation for a cubic spline using the spline function?

53 ビュー (過去 30 日間)
Gina DiCarlo
Gina DiCarlo 2016 年 10 月 24 日
コメント済み: Aissam 2022 年 12 月 16 日
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)

採用された回答

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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSplines についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by