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

6.6.3 作有关分段埃尔米特插值图形的MATLAB程序

6.6.3  作有关分段埃尔米特插值图形的MATLAB程序

作有关分段埃尔米特插值图形的MATLAB主程序

function H=hermitetx(x0,y0,xi,x,y)

H= interp1(x0,y0,xi,'pchip');

Hn= interp1(x0,y0,x,'pchip');

 plot(x0,y0,'o',x,Hn,'-',xi,H,'*',x,y,'-.')

legend('节点(xi,yi)', '分段埃尔米特插值函数','插值点(x,H)','被插值函数y')

我们也可以直接在在MATLAB工作窗口编程序,例如,

>> x0 =-6:6; y0 =sin(x0); xi = -6:.25:6;

yi = interp1(x0,y0,xi,'pchip');

 x=-6:0.001:6; y=sin(x); plot(x0,y0,'o',xi,yi,x,y,':'),

legend('节点(xi,yi)','分段埃尔米特插值函数','被插值函数y=sinx')

title(' y=sinx及其分段埃尔米特插值函数和节点的图形')

>> x0 =-6:6; y0 =cos(x0);

xi = -6:.25:6;yi = interp1(x0,y0,xi,'pchip');

x=-6:0.001:6; y=cos(x); plot(x0,y0,'o',xi,yi,x,y,':'),

legend('节点(xi,yi)','分段埃尔米特插值函数','被插值函数y=cosx')

title(' y=cosx及其分段埃尔米特插值函数和节点的图形')

 

例6.6.6  设函数定义在区间上,节点(X(i),(X (i)))的横坐标向量X的元素是首项a=-5,末项b=5,公差h=1.5的等差数列,构造三次分段埃尔米特插值函数.把区间分成20等份,构成20个小区间,用MATLAB程序计算各小区间中点的值,并作出节点,插值点,的图形.

解  在MATLAB工作窗口输入程序

>>x0=-5:1.5:5;

y0=1./(1+x0.^2); x1=-4.75:0.5:4.75;

x=-5:0.001:5; y=1./(1+x.^2); H= hermitetx(x0,y0,x1,x,y)

title('函数y=1/(1+x^2)及其分段埃尔米特插值函数,插值,节点(xi,yi) 的图形')

运行后屏幕显示各小区间中点的值,出现节点,插值点,的图形(略).

 

例6.6.7  设函数定义在区间上,取,按等距节点构造分段埃尔米特插值函数,用MATLAB程序计算各小区间中点的值,作出节点,插值点,的图形.

解 记节点的横坐标插值点.在MATLAB工作窗口输入程序

>>  h=2*pi/7; x0=-pi:h:pi;

y0=0.5.*x0-cos(x0); xi=-pi+h/2:h:pi-h/2;

b=max(x0); a=min(x0); x=a:0.001:b;

y=0.5.*x-cos(x); H= hermitetx(x0,y0,xi,x,y)

title('函数y=0.5x-cos(x)及其分段埃尔米特插值函数,插值,节点(xi,yi) 的图形')

运行后屏幕显示各小区间中点的值,出现节点,插值点,的图形(略).

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