计算方法与软件

上传人:kms****20 文档编号:37670427 上传时间:2018-04-20 格式:DOC 页数:63 大小:1.05MB
返回 下载 相关 举报
计算方法与软件_第1页
第1页 / 共63页
计算方法与软件_第2页
第2页 / 共63页
计算方法与软件_第3页
第3页 / 共63页
计算方法与软件_第4页
第4页 / 共63页
计算方法与软件_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《计算方法与软件》由会员分享,可在线阅读,更多相关《计算方法与软件(63页珍藏版)》请在金锄头文库上搜索。

1、1实验实验目的目的作为实践性非常强的课程,安排上机实验的目的,不仅是为了验证教材和授课内容,更重要的是,要通过实验深入理解方法的设计原理与处理问题的技巧,培养自行处理常规数值计算问题的能力和综合运用知识分析、解决问题的能力。1 1、通过上机实验加深课堂内容的理解。、通过上机实验加深课堂内容的理解。数值分析的主要任务就是研究适合于在计算机上使用的数值计算方法及与此相关的理论。通过编程上机,就可以加深对方法运行过程的理解,同时在编程中领会和理解数值计算方法的计算要领和步骤,体会问题的条件和限制范围,理解一般问题和特殊问题的区别。2 2、学会对数值计算结果的分析和处理。、学会对数值计算结果的分析和处

2、理。数值分析实验不只是编写程序得到一个数值结果,我们应在掌握数值计算计算方法的基本原理和思想的同时,注意方法处理的技巧及其与计算机的密切结合,重视误差分析、收敛性及稳定性的讨论。此外,还要注意算法能否在计算机上实现,应避免因数值方法选用不当、程序设计不合理而导致超过计算机的存储能力,或导致计算结果精度不高等。3 3、要能灵活掌握各种数值计算方法。、要能灵活掌握各种数值计算方法。由于针对同一个问题可以选用不同的数值计算方法,我们要注意各种方法的使用条件。通过上机,比较各种方法间的异同及优缺点,以便更好的使用不同的方法来解决实际问题,使计算机成为我们最好的工具。2实验实验基本要求基本要求一、上机前

3、的准备工作一、上机前的准备工作1、复习和掌握与本次实验有关的教学内容。2、根据本次实验要求,在纸上编写算法及上机的程序,并经过人工模拟运行检验,减少不必要的错误,提高上机效率。切忌不编程序、不作人工检查就进行程序输入,这只能使上机调试的难度增加,甚至可能带来学习自信心的下降,影响后续课程的学习。二、上机实验步骤二、上机实验步骤1、启动开发环境;2、建立源程序文件,输入源程序;3、编译产生目标程序,连接生成可执行程序,运行程序,输出结果;4、对数值计算结果进行误差分析,讨论数值算法的收敛性与稳定性;5、整理实验报告。三、实验报告三、实验报告实验报告是记录实验工作全过程的技术文档,实验报告的撰写是

4、科学技术工作的一个组成部分。 数值分析实验报告包括下列要求:1、实验原理;2、实验内容和要求;3、数值算法描述,包括数据输入、数据处理和数据输出;4、算法的实现(1) 给出具体的计算实例,(2) 经调试正确的源程序清单,(3) 对具体的数值例子给出数值结果;5、计算结果的误差分析,算法的收敛性与稳定性的讨论;6、实验心得。3实验项实验项目目实验实验一、一、误误差分析差分析误差问题是数值分析的基础,又是数值分析中一个困难的课题。在实际计算中,如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。因此,选取算法时注重分析舍入误差的影响,在实际计算中是十分重要的。同时,由于在数值求解过程

5、中用有限的过程代替无限的过程会产生截断误差,因此算法的好坏会影响到数值结果的精度。一、实验目的一、实验目的1、通过上机编程,复习巩固以前所学程序设计语言及上机操作指令;2、通过上机计算,了解误差、绝对误差、误差界、相对误差界的有关概念;3、通过上机计算,了解舍入误差所引起的数值不稳定性。二、算法实例二、算法实例例 1.1 用差商求在处导数的近似值。取hafhafaf)()()(xxfln)(3x,=0.000 000 000 000 001 和=0.000 000 000 000 000 1 分1 . 0h1000. 0hhh别用 MATLAB 软件计算,取十五位数字计算。解: 在 MATLA

6、B 工作窗口输入下面程序 a=3;h=0.1;y=log(a+h)-log(a);yx=y/h运行后得 yx = 0.32789822822991.将此程序中改为 0.000 1,运行后得h yx = 0.33332777790385.后者比前者好。再取 h = 0.000 000 000 000 001,运行后得yx = 0.44408920985006,不如前者好。取 h = 0.000 000 000 000 000 1,运行后得yx = 0,算出的结果反而毫无价值。4例 1.2 分别求方程组在下列情况时的解,其中.bAX A 01. 1111(1); (2). 22b 01. 22b解

7、: (1) 首先将方程组化为同解方程,然后在 MATLAB 工bAX bAX1作窗口输入程序 b=2,2;A=1,1;1,1.01; X=Ab运行后输出当时,的解为; 22bbAX 02X(2)同理可得,当时,的解为. 01. 22bbAX 11X例 1.3 计算 的近似值。e解:泰勒级数e ,LL!4!3!21432nxxxxxn x)(x取,得1x. (1.1)eLL!1 !41 !31 !2111n这是一个无限过程,计算机无法求到精确值。只能在(1.1)取有限项时计 算,再估计误差。如果取有限项!)(nsn1 41 31 21111L作为 的值必然会有误差,根据泰勒余项定理可知其截断误差

8、为ee.! )1()1(nesn ) 10(如果取(1.1)的前九项,输入程序 n=8; s=1;S =1; for k=1:n s=s*k; S=S+1/s, end s, S, R=3/(s*(n+1) 或 S1=1+1+1/2+1/(1*2*3)+1/(1*2*3*4)+1/(1*2*3*4*5)+1/5(1*2*3*4*5*6)+1/(1*2*3*4*5*6*7)+1/(1*2*3*4*5*6*7*8), R1=3/(1*2*3*4*5*6*7*8*9) 运行后结果 S =8.267195767195768e-006 R =2.71827876984127 因为截断误差为e),10(1

9、01968.267!93 ! ) 18() 1 (6- 8es所以 e 的近似值 e2.718 28.!81 !71 !61 !51 !41 !31 !2111) 1 (8s例 1.4 取作为 的四舍五入近似值时,求其绝对误差和相对误差。282.718e解:在 MATLAB 工作窗口输入程序 juewu=exp(1)-2.71828运行后输出结果为 juewu = 1.828 459 045 505 326e-006例 1.5 计算d 的近似值,并确定其绝对误差和相对误差。2 0sinxxx解 因为被积函数的原函数不是初等函数,故用泰勒级数求之。xxsin, (1.5)L!1sin42 xxx

10、x xx)(x这是一个无限过程,计算机无法求到精确值。可用(1.5)的前四项代替被积函数,得!142 xxxxxsind)d=.2 0sinxxy2 0( x!142 xxxx!7)2(!5)2(!3)2(2753 y 根据泰勒余项定理和交错级数收敛性的判别定理,得到绝对误差= WU,!99)2( 9yyR在 MATLAB 命令窗口输入计算程序如下: syms x f=1-x2/(1*2*3)+x4/(1*2*3*4*5)-x6/(1*2*3*4*5*6*7) y=int(f,x,0,pi/2),y1=double(y) y11=pi/2-(pi/2)3/(3*3*2)+(pi/2)5/(5*

11、5*4*3*2)- (pi/2)7/(7*7*6*5*4*3*2) inf=int(sin(x)/x,x,0,pi/2) ,infd=double(inf) WU =(pi/2)9/(9*9*8*7*6*5*4*3*2), R =infd-y11 因为运行后输出结果为: 1.370 762 168 154 49,=1.370 744 664 189 yy 38,1.750 396 510 491 47e-005, WU= 1.782 679 830 970 664e-005. R4106所以,的绝对误差为,故d。的相对误差为y 4102 0sinxxy7 1.370xy k,juecha,xi

12、angcha,xk= liti112(2,2.5,100) 运行后输出计算结果列入表 11 和表 1-2 中。 将算法 2 的 MATLAB 调用函数程序的函数分别用 y1=15-2*x2 和y1=x-(2*x2+x-15)/(4*x+1)代替,得到算法 1 和算法 3 的调用函数程序,将其保存,运行后将三种算法的前 8 个迭代值列在一起(见表 1-1) ,进行821,xxxL比较.将三种算法的对应的绝对误差和相对误差的值列在一起(见表 821,xxxL1-2) ,进行比较。表 1-1 例 1.6 中三种算法的计算结果算 法迭代次数算法 1 的迭代结果算法 2 的迭代结果算法 3 的迭代结果0

13、22.000 000 002.000 000 00 173.000 000 002.555 555 56 2-832.142 857 142.500 550 06 3-13 7632.837 837 842.500 000 06 4-378 840 3232.246 963 562.500 000 00 5-2.870 417102.246 963 562.500 000 006-1.647 835102.321 774 842.500 000 007-5.430 770102.657 901 652.500 000 00MMMM 99-Inf2.500 000 012.500 000 00表

14、 1-2 例 1.6 中三种算法计算结果的误差算法 1 的误差算法 2 的误差算法 3 的误差算法迭 代 次 数绝对误差相对误差绝对误差相对误差绝对误差相对误差00.500 000 000.250 000 000.500 000 000.250 000 000.500 000 000.250 000 00 14.500 000 000.642 857 140.500 000 000.166 666 670.055 555 600.021 739 13 285.500 000 001.030 120 480.357 142 860.1666 666 700.000 550 100.000 219

15、 97 313 765.500 000.000 100 020.337 837 840.119 047 620.000 000 060.000 000 02 4378 840 3261.000 000 010.253 036 440.112 612 620.000 000 000.000 000 00 52.870 399 81171010.230 287 040.084 345 4800 61.647 839 01351010.178 225 160.076 762 4700875.430 746 80701010.157 901 650.059 408 3900 MMMMMMM 99InfNaN0.000 000 010.000 000 0000例 1.7 求数的近似值。)181(71915x解 (1)直接用 MATLAB 命令 x=(715)*(sqrt(1+8(-19)-1)运行后输出结果x = 0.问题出现在两个相近的数与 相减时,计算机运行程序19811sqrt(1+8(-19)-1运行后输出结果ans

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号