由条件(2),不妨将(x)记为 s(x)=s(x), xE[x, x ], i=1, 2,,nh s, ()=ax+b x+cx+d 其中a,b,C,d为待定系数,共4n个。 由条件(1),有 S:(X (x)=S1(x,)(i=12,,n-1) S:1(X
由条件(2 ( ) ),不妨将s x 记为 1 [ , ], 1,2,..., i i i s x s x x x x i n = + ( )={ ( ), } 3 2 ( ) (1) i i i i si x a x b x c x d = + + + i i i i 其中a b c d , , , 为待定系数,共4n个。 由条件(1),有 ( ) ( ) ( ) ( ) ( 1,2,..., 1) (2) ( ) ( ) i i i i i i x x x x i n x x = = = − = i i+1 i i+1 i i+1 s s s s s s
由条件(3),有 (x)=y(=0,,2,…,n) 容易看出,(2)和(3)共有4n-2个方程,为 确定s(x)的4n个待定参数,尚需再给出两个条件, 即所谓边界条件。通常使用的边界条件有以下三类: 第一类边界条件是 s(n)=f, 62f"为给定的值
由条件(3),有 ( ) ( 0,1,2,..., ) (3) i i i s x y i n = = 2 3 4 2 容易看出,( )和( )共有 n − 个方程,为 确定s(x)的4n个待定参数,尚需再给出两个条件, 即所谓边界条件。通常使用的边界条件有以下三类: 0 0 0 , n n n x f x f f f 第一类边界条件是 s ( )= s ( )= 为给定的值
第二类边界条件是 f6”f为给定的值。 当s"(x0)=s"(xn)≥=0时,样条函数在两端点不受力,呈 自然状态,故称之为自然边界条件。 第三类边界条件是周期条件。设f(x)是周期函数, 不妨设以xn-x为一个周期,这时(x)也应以xn-x 为周期的周期函数,于是s(x)在端点处满足条件: s(xn+0)=s(xn-0);s(xn+0)=s(xn-0);s"xn+0)=s"(xn-0
0 0 0 0 0 ( ) n n n n n f x x - x s x x - x s x s x s x s x s x s x 第三类边界条件是周期条件。设 ( )是周期函数, 不妨设以 为一个周期,这时 也应以 为周期的周期函数,于是 s(x)在端点处满足条件: ( +0)= ( -0); ( +0)= ( -0); ( +0)= ( -0). 0 0 0 n n n x f x f f f 第二类边界条件是 s ( )= s ( )= , 为给定的值。 0 =0 n 当s ( )=s ( ) x x 时,样条函数在两端点不受力,呈 自然状态,故称之为自然边界条件
利用4n个条件求出三次样条函数(x)的4n个待定常数, 直接求解计算量很大,通常利用 Matlab软件求S(x) 例2设f(x)为定义在[0,3]上的函数,有下列函数值表 00 23 y 0.521.5 且f(x)=0.2,f(x3)=-1,试求区间[0,3上满足上述 条件的三样次条插值函数(x) 解 matlab求解s(x).程序为: clear X0=[0123]y0=00.521.5]X=0:0.1:3; pp 1=csape(X0, yo, complete); y3=ppva(p1.x;%计算插值函数在X处的值 plot(x0,y0,+,xy3,「)
4 ( ) 4 ( ). n s x n s x 利用 个条件求出三次样条函数 的 个待定常数, 直接求解计算量很大,通常利用Matlab软件求 例2 设f(x)为定义在[0,3]上的函数,有下列函数值表 xi 0 1 2 3 yi 0 0.5 2 1.5 0 3 ( ) 0.2, ( ) 1, [0,3] ( ). f x f x s x 且 = = − 试求区间 上满足上述 条件的三样次条插值函数 解 matlab求解s(x).程序为: clear x0=[0 1 2 3];y0=[0 0.5 2 1.5];x=0:0.1:3; pp1=csape(x0,y0,’complete’); y3=ppval(pp1,x);%计算插值函数在x处的值 plot(x0,y0,’+’,x,y3,’r’)
p= cape(x,y,’ complete’) [breaks, coefs, polys, ncoefs, dim]=unmkpp(pp 上述程序中函数 cape(x,y,' complete)是指定边界条件的 样条插值函数, cape返回一个包含三次样条插值的p形 或者说是分段多项式的结构。这个结构包含了计算用户希 望的任何插值点数值的三次样条值需要的所有信息 字符串’ complete’表示所给边界条件是第一类边界条件; 若将’ complete'换成’ second表示第二类边界条件; periodic’表示第三类边界条件。 在第一类边界条件和第二类边界条件时,边界条件值放 在y的第一个分量和最后一个分量的位置上
pp=csape(x,y,'complete') [breaks,coefs,npolys,ncoefs,dim]=unmkpp(pp) 上述程序中函数csape x y complete ( , ,' ')是指定边界条件的 样条插值函数,csape返回一个包含三次样条插值的pp形, 或者说是分段多项式的结构。这个结构包含了计算用户希 望的任何插值点数值的三次样条值需要的所有信息。 字符串'complete'表示所给边界条件是第一类边界条件; 若将'complete'换成'second'表示第二类边界条件; 'periodic'表示第三类边界条件。 在第一类边界条件和第二类边界条件时,边界条件值放 在y的第一个分量和最后一个分量的位置上