三次样条插值函数matlab程序绝不坑爹
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x0=[0 0.9211 1.8431 2.9497 3.8714 4.9781 5.9 7.0064 7.9286 8.9678 10.9542 12.0328 12.9544 13.8758 14.9822 15.9039 16.8261 17.9317 19.0375 19.9594 20.8392 22.9581 23.88 24.9869 25.9083];
>>
>> y0=[14405 11180 10063 11012 8797 9992 8124 10160 8488 11018 19469 20196 18941 15903 18055 15646 13741 14962 16653 14496 14648 15225 15264 13708 9633];
>> x=0:0.1:25.9;
>> y1=interp1(x0,y0,x,'spline');
>> pp1=csape(x0,y0); %样条插值工具箱函数
y2=ppval(pp1,x); %计算x对应的y值
pp2=csape(x0,y0,'second');
y3=ppval(pp2,x);
xydata=[x',y1',y2',y3']
subplot(1,2,1)
plot(x0,y0,'+',x,y1)
title('Spline1')
subplot(1,2,2)
plot(x0,y0,'+',x,y2)
title('Spline2')
dx=diff(x);
dy=diff(y2);
dy_dx=dy./dx;
dy_dx0=dy_dx(1)
ytemp=y2(13<=x&x<=15);
ymin=min(ytemp);
xmin=x(y2==ymin);
xymin_1315=[xmin,ymin]