matlab样条拟合插值后获得曲线方程matlab提供了一些三次样条插值函数spline以及样条工具箱函数,如http://blog.csdn.net/wuzoujing/article/details/4943251请问通过这些函数拟合之后,如何获得拟合后的曲线
matlab样条拟合插值后获得曲线方程matlab提供了一些三次样条插值函数spline以及样条工具箱函数,如http://blog.csdn.net/wuzoujing/article/details/4943251请问通过这些函数拟合之后,如何获得拟合后的曲线
matlab样条拟合插值后获得曲线方程
matlab提供了一些三次样条插值函数spline
以及样条工具箱函数,如
http://blog.csdn.net/wuzoujing/article/details/4943251
请问通过这些函数拟合之后,如何获得拟合后的曲线方程?
matlab样条拟合插值后获得曲线方程matlab提供了一些三次样条插值函数spline以及样条工具箱函数,如http://blog.csdn.net/wuzoujing/article/details/4943251请问通过这些函数拟合之后,如何获得拟合后的曲线
这些插值方法最后一般得到的是分段的多项式函数,有pp或b两种保存形式.
举个例子
clear;clc;
x=1:4;
y=sin(x);
p=spline(x,y)
运行后可以看到结构体p如下
p =
form:'pp'
breaks:[1 2 3 4]
coefs:[3x4 double]
pieces:3
order:4
dim:1
它是一个3段多项式分段函数(pp),断点为[1 2 3 4](即1~2、2~3、3~4三段),每个分段函数为一个多项式,多项式的系数保存在coefs里,每一行代表一个分段函数.
输入p.coefs
ans =
0.1177 -0.7711 0.7212 0.8415
0.1177 -0.4180 -0.4679 0.9093
0.1177 -0.0649 -0.9508 0.1411
就可以知道多项式的表达式了,比如第二行表示函数:0.1177*(x-2)^3-0.4180*(x-2)^2 -0.4679*(x-2)+0.9093(这个2就是断点)
这个分段函数的定义域为2~3,如果你要算2.5的插值,只要把他代入这个函数,就得到了这个多项式即可,当然用matlab只要输入命令ppval(p,2.5)就可以了