www.gusucode.com > 关于海航matlab和lingo的训练题 > 三次样条插值例题自己的方法!!!.m
clc,clear x0=[0 3 5 7 9 11 12 13 14 15]; y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6]; x=0:0.1:15; y1=lagrange(x0,y0,x); %调用前面编写的Lagrange插值函数 y2=interp1(x0,y0,x);%分段线性插值 y3=interp1(x0,y0,x,'spline');%三次样条插值 y3=spline(x0,y0,x); plot(x0,y0,'y'); hold on plot(x,y1,'r'); figure(2) plot(x0,y0,'y'); hold on plot(x,y2,'g'); figure(3) plot(x0,y0,'y'); hold on plot(x,y3,'b'); %pp=csape(x0,y0,conds),y=ppval(pp,x)。 %要求插值点的函数值,必须调用函数ppval %pp=csape(x0,y0):使用默认的边界条件,即Lagrange 边界条件。 %pp=csape(x0,y0,conds)中的conds 指定插值的边界条件 pp=csape(x0,y0); y=ppval(pp,x)