数值计算精度与步长关系.doc_第1页
数值计算精度与步长关系.doc_第2页
数值计算精度与步长关系.doc_第3页
数值计算精度与步长关系.doc_第4页
数值计算精度与步长关系.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值计算实验报告实验名称:数值计算精度与步长关系 实验目的:数值计算中误差是不可避免的,要求通过本实验初步认识数值分析中两个重要概念:截断误差和舍入误差,并认真体会误差对计算结果的影响。实验内容:设一元函数f :RR,则f在x0的导数定义为:根据不同的步长可设计两种算法,计算f在x0处的导数。计算一阶导数的算法有两种: (1) (2)请给出几个计算高阶导数的近似算法,并完成如下工作:1、对同样的h,比较(1)式和(2)式的计算结果;2、针对计算高阶导数的算法,比较h取不同值时(1)式和(2)式的计算结果。实验步骤:1.建立函数文件,将文件名保存为dsh1.m,输入语句:function y=dsh1(fu,x,h) y=(feval(fu,x+h)-feval(fu,x)/h;再定义一个函数文件,并将文件名保存为dsh2.m ,输入语句:function y1=dsh2(fu,x,h) y1=(feval(fu,x+h)-feval(fu,x-h)/(2*h); 在命令窗口中输入下列语句:计算余弦函数的导数值:y=dsh1(cos,1,0.1)y1=dsh2(cos,1,0.1)计算对数函数的导数值: y=dsh1(log,2,0.1) y1=dsh2(log,2,0.1)2对于余弦函数,画出步长h=0.1时,用式(1)与式(2)计算的结果与真实值的图像。程序为:x=-2*pi:0.1:2*pi;y=dsh1(cos,-2*pi:0.1:2*pi,0.2);y1=dsh2(cos,-2*pi:0.1:2*pi,0.2);y2=-sin(x);subplot(211)plot(x,y,*,x,y2,r)subplot(212)plot(x,y1,*,x,y2,r)3.对于二阶导数,根据(1)式和(2)式可以推出公式: (3) (4).函数文件,将文件名保存为dsh3.m,输入命令语句:function y4=dsh3(fu,x,h) y=(feval(fu,x+2*h)-2*feval(fu,x+h)+feval(fu,x)/(h2);再定义一个函数文件,并将文件名保存为dsh4.m ,输入命令语句:function y4=dsh4(fu,x,h) y1=(feval(fu,x+2*h)-2*feval(fu,x)+feval(fu,x-2*h)/(4*h2); 在命令窗口中输入下列语句:计算余弦函数的二阶导数值:y3=dsh3(cos,1,0.1)y4=dsh4(cos,1,0.1)计算对数函数的二阶导数值:y3=dsh3(log,2,0.1)y4=dsh4(log,2,0.1)对于余弦函数,画出步长h=0.1时,用式(3)与式(4)计算的结果与真实值的图像。x=-2*pi:0.1:2*pi;y3=dsh3(cos,-2*pi:0.1:2*pi,0.2);y4=dsh4(cos,-2*pi:0.1:2*pi,0.2);y=-cos (x);subplot(211)plot(x,y3,*,x,y,r)subplot(212)plot(x,y4,*,x,y,r)取不同的步长,利用(3)式和(4)式计算: y3=dsh3(cos,1,0.01) y3=dsh3(cos,1,0.001)y3=dsh3(cos,1,0.0001) y3=dsh3(cos,1,0.00001) y3=dsh3(cos,1,0.0000001) y3=dsh3(cos,1,0.00000000000001) y4=dsh4(cos,1,0.01) y4=dsh4(cos,1,0.001) y4=dsh4(cos,1,0.0001) y4=dsh4(cos,1,0.00001) y4=dsh4(cos,1,0.0000001) y4=dsh4(cos,1,0.00000000000001)实验结果分析:1.分别用(1)式和(2)式计算余弦函数在x=1处,步长为h=0.1的导数值:y=-0.8671, y1 =-0.8401cos(x)的导数是-sin(x),在命令窗口输入-sin (1),得到计算结果为- sin(1)= -0.8415.,所以,用式(2)计算的结果更精确。分别用(1)式和(2)式计算对数函数在x=2处,步长为h=0.1的导数值:y=0.4879, y1= 0.5004,,在x=2处的值为0.5,所以,用(2)式计算的结果更准确。2.余弦函数导数图形:图中红线为真实图形,*号是按公式(1)和(2)计算的结果画出的散点图,由图形可以看出下面的图形中散点图与曲线更接近,所以,用(2)式计算的结果更精确。3. 分别用(3)式和(4)式计算余弦函数在x=1处,步长为h=0.1的二阶导数值:y3= -0.4532, y4= -0.5385cos(x)的二阶导数是-cos(x),在命令窗口输入-cos(1),得到计算结果为-cos(1)= -0.5403.,所以,用式(4)计算的结果更精确。分别用(3)式和(4)式计算对数函数在x=2处,步长为h=0.1的导数值:y3=-0.2270, y4= -0.2513,,在x=2处的值为-0.25,所以,用(4)式计算的结果更准确。余弦函数二阶导数图形:图中红线为真实图形,*号是按公式(3)和(4)计算的结果画出的散点图,由图形可以看出下面的图形中散点图与曲线更接近,所以,用(4)式计算的结果更精确。4.利用(3)式和(4)式取不同的步长,得到结果为:h=0.01,y3 =-0.5319 , y4= -0.5403h=0.001, y3=-0.5395 , y4= -0.5403h=0.0001, y3=-0.5402 , y4= -0.5403h=0.00001, y3=-0.5403 , y4= -0.5403h=0.0000001, y3= -0.5107 ,y4= -0.5385h= 0.00000000000001, y3=0 ,y4= -2.7756e+011由上面的结果分析可知,(4)式的结果比(3)式得结果更精确。取不同的步长,误差不同,当步长较大时,误差较大,随着步长的减小,误差减小,但当步长很小时,误差又变得很大,误差分析:不论采用怎样的算法,计算结果通常都会有误差。比如算法(1),由Taylor公式,知: 所以有 利用上式来计算f (x0),其截断误差为: 所以误差是存在的,并且当步长h越来越小时,(1)的近似程度也越来越好。类似地可以分析(2)的截断误差为:上述截断误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论