资源描述:
《一阶导数的数值计算及其matlab程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三篇第八章数值微分第八章数值微分8.2一阶导数的数值计算及其MATLAB程序8.2.1差商求导及其MATLAB程序例8.2.1设.(1)分别利用前差公式和后差公式计算的近似值和误差,取4位小数点计算,其中步长分别取,80,.(2)将(1)中计算的的近似值分别与精确值比较.解(1)编写计算的一阶导数计算的近似值和误差估计的MATLAB程序,并输入>>x=0.79;h=[0.1,0.01,0.001,0.0001];M=80;x1=x+h;x2=x-h;y=sin(5.*x.^2-21);y1=sin(5.*x1.^2-21);y2=sin(5.*x2.^2-21);yq=(y1-y)./h,y
2、h=(y-y2)./h,wu=abs(h.*M/2),symsx,f=sin(5.*x.^2-21);yx=diff(f,x)运行后屏幕显示利用前差公式和后差公式计算的近似值yq,yh和误差估计wu,取4位小数点计算,其中步长分别取,M=80,导函数yxyq=1.465963803979784.228485501730434.442507595846974.46320955293622yh=5.968853523665364.686720221082274.488338081305554.46779260847907wu=4.000000000000000.400000000000000.04
3、0000000000000.00400000000000yx=10*cos(5*x^2-21)*x(2)计算的值.输入程序>>x=0.79;yx=10*cos(5*x^2-21)*x,wuq=abs(yq-yx),wuh=abs(yh-yx)运行后屏幕显示利用前差公式和后差公式计算的近似值与精确值的绝对误差wuq,wuh和的精确值yx如下yx=4.46550187104484wuq=2.999538067065060.237016369314410.022994275197870.00229231810861wuh=1.503351652620530.221218350037440.02283
4、6210260720.002290737434248.2.2中心差商公式求导及其MATLAB程序利用精度为的三点公式计算的近似值和误差估计的MATLAB主程序function[n,xi,yx,wuc]=sandian(h,xi,fi,M)n=length(fi);yx=zeros(1,n);wuc=zeros(1,n);x1=xi(1);x2=xi(2);x3=xi(3);y1=fi(1);y2=fi(2);y3=fi(3);xn=xi(n);xn1=xi(n-1);xn2=xi(n-2);yn=fi(n);yn1=fi(n-1);yn2=fi(n-2);fork=2:n-1128.第三篇第八
5、章数值微分yx(1)=(-3*y1+4*y2-y3)/(2*h);yx(n)=(yn2-4*yn1+3*yn)/(2*h);yx(2)=(fi(3)-fi(1))/(2*h);yx(k)=(fi(k+1)-fi(k-1))./(2*h);wuc(1)=abs(h.^2.*M./3);wuc(n)=abs(h.^2.*M./3);wuc(2:n-1)=abs(-h.^2.*M./6);end利用精度为的三点公式计算的近似值和误差估计的MATLAB主程序function[x,yxj,wuc]=sandian3(h,xi,fi,M)yxj=zeros(1,3);wuc=zeros(1,3);x1=x
6、i(1);x2=xi(2);x3=xi(3);y1=fi(1);y2=fi(2);y3=fi(3);fort=1:3s(t)=((2*t-5)*y1-4*(t-2)*y2+(2*t-3)*y3)/(2*h);x=xi;y=s(t);yxj(t)=y;ift==2wuc(2)=abs(-h.^2*M/6);elsewuc(1:2:3)=abs(h.^2*M/3);endend例8.2.3设已给出的数据表8–5:表8–5x1.00001.10001.20001.30001.40001.50001.6000f(x)0.25000.22680.20660.18900.17360.16000.1479M
7、=0.7502,试用三点公式计算下列问题:(1)当h=0.1时,在x=1.0000,1.1000,1.2000,1.3000,1.4000,1.5000,1.6000处的一阶导数的近似值,并估计误差;(2)当h=0.2时,在x=1.0000,1.2000,1.4000,1.6000处的一阶导数的近似值,并估计误差;(3)当h=0.3时,在x=1.0000,1.3000,1.6000处的一阶导数的近