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

6.5.5 用MATLAB计算有关分段线性插值的误差

6.5.5  用MATLAB计算有关分段线性插值的误差

 

例6.5.8  设函数,在区间上取等距节点,构造分段线性插值函数.

(1)用MATLAB程序计算各小区间中点的值,作出节点,插值点,的图形;

(2) 用MATLAB程序计算各小区间中点处的值及其相对误差;

(3) 用MATLAB程序估计在区间上的误差限.

解  在MATLAB工作窗口输入程序

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

y0=tan(cos((sqrt(3)+sin(2*x0))./(3+4*x0.^2)));

xi=-pi+h/2:h:pi-h/2; fi=tan(cos((3^(1/2)+sin(2*xi))./(3+4*xi.^2)));

b=max(x0); a=min(x0);

x=a:0.001:b; y=tan(cos((sqrt(3)+sin(2.*x))./(3+4*x.^2)));

si=xxczhjt1(x0,y0,xi,x,y);

Ri=abs((fi-si)./fi);

xi,fi,si,Ri,i=[xi',fi',si',Ri']

title('y=tan(cos((sqrt(3)+sin(2 x))/(3+4 x^2)))的分段线性插值的有关图形')

运行后屏幕显示Ri (略),并且作出节点,插值点,的图形(略).

在MATLAB工作窗口输入程序

>>  syms  x

y=tan(cos((3^(1/2)+sin(2*x))/(3+4*x^2)));yxx=diff(y,x,2),

运行后屏幕显示函数的二阶导数(略).

在MATLAB工作窗口输入程序

>>  h=2*pi/9; x=-pi:0.0001:-pi;

yxx=2*tan(cos((3^(1/2)+sin(2.*x))./(3+4.*x.^2))).*(1+tan(cos((3.^(1/2)+sin(2.*x))./(3+4.*x.^2))).^2).*sin((3^(1/2)+sin(2.*x))./(3+4.*x.^2)).^2.*(2*cos(2.*x)./(3+4*x.^2)-8*(3^(1/2)+sin(2.*x))./(3+4.*x.^2).^2.*x).^2-(1+tan(cos((3^(1/2)+sin(2.*x))./(3+4.*x.^2))).^2).*cos((3^(1/2)+sin(2.*x))./(3+4.*x.^2)).*(2.*cos(2.*x)./(3+4.*x.^2)-8*(3^(1/2)+sin(2.*x))./(3+4.*x.^2).^2.*x).^2-(1+tan(cos((3^(1/2)+sin(2.*x))./(3+4.*x.^2))).^2).*sin((3.^(1/2)+sin(2.*x))./(3+4.*x.^2)).*(-4.*sin(2.*x)./(3+4.*x.^2)-32*cos(2.*x)./(3+4.*x.^2).^2.*x+128*(3^(1/2)+sin(2.*x))./(3+4.*x.^2).^3.*x.^2-8*(3^(1/2)+sin(2.*x))./(3+4.*x.^2).^2);

myxx=max(yxx), R=(h^2)* myxx/8

运行后屏幕显示myxx =在区间上的误差限如下

myxx =                              R =

-0.02788637150664               -0.00169893490711

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