作业帮 > 综合 > 作业

matlab 三次样条插值函数

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 06:38:03
matlab 三次样条插值函数
如何根据数据得到三次样条插值函数的表达式
现在的情况是三次样条插值曲线已经得到,想得到这个曲线的函数表达式?
x1=[5.20 8.17 9.79 11 12.33 19.07];
y1=[9.67 61.84 79.14 84.51 89.13 100];
>> y1i=9.67:0.001:100;
x1i=pchip(y1,x1,y1i);
plot(x1i,y1i,x1,y1,'+');
上面是原来的数据,想得到三次样条插值函数表达式
matlab 三次样条插值函数
clear
x1=[5.20 8.17 9.79 11 12.33 19.07];
y1=[9.67 61.84 79.14 84.51 89.13 100];
y1i=9.67:0.001:100;
x1i=pchip(y1,x1,y1i);
p=polyfit(y1i,x1i,3)%用polyfit进行3次多项式拟合
%结果为p = 0.0000 -0.0058 0.2698 2.3263
f = polyval(p,y1i);
plot(y1i,x1i,'o',y1i,f,'-')
plot(y1i,x1i,'o',y1i,f,'-')%查看拟合结果