How to get an equation for a cubic spline using the spline function?
조회 수: 46 (최근 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!