网站大量收购闲置独家精品文档,联系QQ:2885784924

第八章数值微分剖析.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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, yh=(y-y2)./h, wu=abs(h.*M/2), syms x,f=sin(5.*x.^2-21); yx=diff(f,x) 运行后屏幕显示利用前差公式和后差公式计算的近似值yq,yh和误差估计wu,取4位小数点计算,其中步长分别取,M=80,导函数yx yq = 1.46596380397978 4.22848550173043 4.44250759584697 4.46320955293622 yh = 5.96885352366536 4.68672022108227 4.48833808130555 4.46779260847907 wu = 4.00000000000000 0.40000000000000 0.04000000000000 0.00400000000000 yx = 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.46550187104484 wuq = 2.99953806706506 0.23701636931441 0.02299427519787 0.00229231810861 wuh = 1.50335165262053 0.22121835003744 0.02283621026072 0.00229073743424 8.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); for k=2:n-1 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= xi(1); x2= xi(2); x3= xi(3); y1=fi(1); y2=fi(2); y3=fi(3); for t=1:3 s(t)=((2*t-5)*y1-4*(t-2)*y2+(2*t-3)*y3)/(2*h); x=xi; y=s(t); yxj(t)=y; if t==2 wuc(2)=abs(-h.^2*M/6); else wuc(1:2:3)=abs(h.^2*M/3); end end 例 8.2.3 设已给出的数据表8–5: 表8–5 x 1.000 0 1.100 0 1.200 0 1.300 0 1.400 0 1.500 0 1.600 0 f(x) 0.250 0 0.226 8 0.206 6 0.189 0 0.173 6 0.160 0 0.147 9

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档