matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

6.7.6 用MATLAB计算三次样条

6.7.6  用MATLAB计算三次样条

 

例6.7.6  给出节点的数据如下:

-1.00   -0.54   0.13   1.12   1.89   2.06   2.54    2.82    3.50

-2.46   -5.26  -1.87   0.05   1.65   2.69   4.56    7.89   10.31

分别求在下列条件下在插值点处的压紧三次样条插值,并显示该样条函数的有关信息:

(1)端点约束条件为

(2)端点约束条件为.

解 (1)输入MATLAB程序

>> X=[-1.00  -0.54  0.13  1.12  1.89  2.06  2.54  2.82  3.50];

Y=[-2.46  -5.26  -1.87  0.05  1.65  2.69  4.56  7.89  10.31]; XI=[-0.02  2.56];

YI= spline (X, [5,Y,29.16],XI), PP = spline (X, [5,Y,29.16])

运行后屏幕显示压紧样条分别在处的插值和该样条函数的有关信息如下

YI =

   -3.1058    4.7834

PP =

    form: 'pp'

    breaks: [-1 -0.5400 0.1300 1.1200 1.8900 2.0600 2.5400 2.8200 3.5000]

    coefs: [8x4 double]

    pieces: 8

    order: 4

    dim: 1

(2)因为端点约束条件为,所以输入MATLAB程序

>> YI= spline (X, [0,Y,0],XI), PP= spline (X, [0,Y,0])

运行后屏幕显示压紧三次样条分别在的插值和该样条函数的有关信息如下

YI =

   -3.0192    4.7501

PP =

      form: 'pp'

    breaks: [-1 -0.5400 0.1300 1.1200 1.8900 2.0600 2.5400 2.8200 3.5000]

     coefs: [8x4 double]

    pieces: 8

     order: 4

       dim: 1

例6.7.7  在默认端点约束条件下,用两种方法计算在下列插值点处的三次样条插值.

(1)给出节点的数据与例6.7.6相同,插值点XI=2.56;

(2)节点(X(i),Y(i))的横坐标向量X从的整数,纵坐标向量Y=(-2.36,0.85,1.12,2.36,2.36,3,4,1.46,0.49,0.06, 0),插值点向量XI是从的11个等分点.

解 (1)输入MATLAB程序

>>X=[-1.00  -0.54  0.13  1.12  1.89  2.06  2.54  2.82  3.50];

Y=[-2.46  -5.26  -1.87  0.05  1.65  2.69  4.56  7.89  10.31];

XI=2.56;

Y1= spline (X, Y,XI),Y2=interp1(X,Y,XI,'spline')

运行后屏幕显示三次样条插值的两种结果如下

Y1 = 4.730 2,Y2 =4.730 2.

(2)输入MATLAB程序

>> X= -5:5; Y= [-2.36 .85 1.12 2.36 2.36 3 4 1.46 .49 .06 0];

XI = linspace(-4,4,11); Y1= spline (X, Y,XI), Y2=interp1(X,Y,XI,'spline')

运行后屏幕显示

Y1 =

    0.8500    1.0203    1.8857    2.4779    2.3683    3.0000    4.0656      2.5935      0.8247     0.4074     0.0600

Y2 =

    0.8500    1.0203    1.8857    2.4779    2.3683    3.0000    4.0656      2.5935      0.8247     0.4074     0.0600

 

例6.7.8  设函数定义在区间上,取,按等距节点构造分段三次样条函数.试用MATLAB程序计算在各小区间中点处分段三次样条插值及其相对误差.

解  .在MATLAB工作窗口输入程序

 >> h=0.2;x0=-1:h:1;y0=1./(1+25.*x0.^2);xi=-0.9:h:0.9;

fi=1./(1+25.*xi.^2); yi=spline (x0,y0,xi);

Ri=abs((fi-yi)./fi); xi,fi,yi,Ri,i=[xi',fi',yi',Ri']

运行后屏幕显示各小区间中点xi处的函数值fi,插值si,相对误差值Ri(略).

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3060706.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1