数值计算方法在计算机科学中地应用和误差序列实验

上传人:t****y 文档编号:103978643 上传时间:2022-06-09 格式:DOCX 页数:12 大小:48.22KB
收藏 版权申诉 举报 下载
数值计算方法在计算机科学中地应用和误差序列实验_第1页
第1页 / 共12页
数值计算方法在计算机科学中地应用和误差序列实验_第2页
第2页 / 共12页
数值计算方法在计算机科学中地应用和误差序列实验_第3页
第3页 / 共12页
资源描述:

《数值计算方法在计算机科学中地应用和误差序列实验》由会员分享,可在线阅读,更多相关《数值计算方法在计算机科学中地应用和误差序列实验(12页珍藏版)》请在装配图网上搜索。

1、-?数值方法?实验报告1数值计算方法在计算机科学中的应用和误差序列实验【摘要】计算数学也叫做数值计算方法或数值分析。主要内容包括代数方程、线性代数方程组、微分方程的数值解法,函数的数值逼近问题,矩阵特征值的求法,最优化计算问题,概率统计计算问题等等,还包括解的存在性、唯一性、收敛性和误差分析等理论问题。 测量值与真实值之间的差异称为误差,物理实验离不开对物理量的测量,测量有直接的,也有间接的。由于仪器、实验条件、环境等因素的限制,测量不可能无限准确,物理量的测量值与客观存在的真实值之间总会存在着一定的差异, 这种差异就是测量误差。 误差是不可防止的,只能减小。关 键 词数值计算方法、计算机科学

2、、误差一、数值计算方法在计算机科学中的应用一、数值计算方法概述一数值计算方法属于计算数学的X畴,是研究各种数学问题的数值方法设计、分析、有关的数学理论和具体实现的一门学科。由于近几十年来计算机的迅速开展,数值计算方法的应用已经普遍深入到各个科学领域,很多复杂的和大规模的计算问题都可以在计算机上进行计算,新的、有效的数值计算方法不断出现。现在,科学与工程中的数值计算已经成为各门自然科学和工程技术科学的一种重要手段, 成为与实验和理论并列的一个不可缺少的环节。所以数值计算方法既是一个根底性的,同时也是一个应用性的数学学科,与其它学科的联系十分严密。由于大量的问题要在计算机上求解,所以要对各种数值计

3、算方法进展分析,其内容包括:误差、稳定性、收敛性、计算工作量、存贮量和自适应性,这些根本的概念用于刻画数值方法的适用X围、可靠性、准确性、效率和使用的方便性等。当代实际的科学与工程计算中,计算问题往往是复杂的和综合的。但是有一些最根底、最常用的数值计算方法,它们成为通常大学数值计算方法课程的内容。本书主要讨论这些方法及其分析, 它们包括逼近问题 函数的插值和逼近, 数值积分和微分 ,线性代数问题 方程组和特征值问题 和非线性方程及方程组的数值解法问题, 以及常微分方程的数值解法等。这些是数值计算方法最根底的内容,不仅可以直接应用于实际计算,同时也是其它数值计算问题所用到的方法及其分析的根底。二

4、数值计算方法或称计算方法是研究数学问题求数值解的算法和有关理论的一门学科,它的理论与方法随计算工具的开展而开展。在古代,人类研究的数学问题几乎总与计算有关,而计算工具的简陋,使求解问题受到很大限制。现代科学技术日新月异,尤其是计算机技术飞速开展,人类可以用计算机进展复杂的数值计算、数据处理包括图形,图像,声音,文字,计算机不仅是现代计算工具,而且已成了我们工作环境的一局部。计算方法所研究的内容是用计算机解决数学问题的方法包括算法和理论。用计算机进展数值计算-?数值方法?实验报告2的核心是算法设计。算法是对解题方案的准确描述,是“解题的操作序列。在研究算法时,离不开误差分析,同时还需要考虑算法的

5、稳定性、收敛性、计算工作量等问题。三计算方法是计算数学的一个主要局部。而计算数学是数学科学的一个分支,它研究用计算机求解数学问题的数值计算方法及其软件实现。计算数学几乎与数学科学的一切分支有联系,它利用数学领域的成果开展了新的更有效的算法及其理论,反过来很多数学分支都需要探讨和研究适用于计算机的数值方法。因此,计算方法的内容十分广泛。但本书作为计算方法的根底,只介绍科学与工程计算中最常用的根本数值方法,包括线性方程组与非线性方程求根、插值与最小二乘拟合、数值积分与常微分方程数值解法等。这些都是计算数学中最根底的内容。近几十年来由于计算机的开展及其在各技术科学领域的应用推广与深化,新的计算性学科

6、分支纷纷兴起,如计算力学、计算物理、计算化学、计算经济学等等,不管其背景与含义如何,要用计算机进展科学计算都必须建立相应的数学模型,并研究其适合于计算机编程的计算方法。因此,计算数学是各种计算性科学的联系纽带和共性根底,是一门兼有根底性、应用性和边缘性的数学学科。二、数值计算方法研究的对象、任务与特点计算数学作为数学科学的一个分支,当然具有数学科学的抽象性与严密科学性的特点,但它又具有广泛的应用性和边缘性特点。现代科学开展依赖于理论研究、科学实验与科学计算三种主要手段,它们相辅相成,互相独立,可以互相补充又都不可缺少,作为三种科学研究手段之一的科学计算是一门工具性。方法性、边缘性的新学科,开展

7、迅速,它的物质根底是计算机包括其软硬件系统,其理论根底主要是计算数学。计算数学与计算工具开展密切相关,在计算机出现以前,数值计算方法只能计算规模小的问题,并且也没形成单独的学科,只有在计算机出现以后,数值计算才得以迅速开展并成为数学科学中一个独立学科计算数学。当代计算能力的大幅度提高既来自计算机的进步,也来自计算方法的进步,计算机与计算方法的开展是相辅相成、互相促进的。计算方法的开展启发了新的计算机体系构造,而计算机的更新换代也对计算方法提出了新的标准和要求。例如为在计算机上求解大规模的计算问题、提高计算效率,诞生并开展了并行计算机。自计算机诞生以来,经典的计算方法业已经历了一个重新评价、筛选

8、、改造和创新的过程,与此同时,涌现了许多新概念、新课题和能充分发挥计算机潜力、有更大解题能力的新方法,这就构成了现代意义下的计算数学。这也是数值分析的研究对象与特点。概括地说,计算方法是研究适合于在计算机上使用的实际可行、理论可靠、计算复杂性好的数值计算方法。具体说就是:第一,面向计算机,要根据计算机特点提供实际可行的算法,即算法只能由计算机可执行的加减乘除四那么运算和各种逻辑运算组成。第二,要有可靠的理论分析,数值分析中的算法理论主要是连续系统的离散化及离散型方程数值求解。有关根本概念包括误差、稳定性、收敛性、计算量、存储量等,这些概念是刻画计算方法的可靠性、准确性、效率以及使用的方便性。第

9、三,要有良好的复杂性及数值试验,计算复杂性是算法好坏的标志,它包括时间复杂性指计算时间多少和空间复杂性指占用存储单元多少对很多数值问题使用不同算法,其计算复杂性将会大不一样,例如对 20 阶的线性方程组假设用代数中的 Cramer 法那么作为算法-?数值方法?实验报告3求解,其乘除法运算次数需要 9.7 1020 次,假设用每秒运算 1 亿次的计算机计算也要 30 万年,这是无法实现的,而用计算方法中介绍的 Gauss消去法求解,其乘除法运算次数只需 3060 次,这说明选择算法的重要性。当然有很多数值方法不可能事先知道其计算量,故对所有数值方法除理论分析外,还必须通过数值试验检验其计算复杂性

10、。本课程虽然只着重介绍计算方法及其理论,一般不涉及具体的算法设计及编程技巧,但作为根本要求仍希望读者能适当做一些计算机上的数值试验,它对加深算法的理解是很有好处的。三、数值计算方法与计算机科学计算机的飞速开展,正在日益影响着人们对传统数值分析即计算方法的认识。近几十年来,人们越来越认识到计算方法的学习与研究离不开计算机,仅仅只依靠数学理论的演绎和推导还不能解决实际中的数值问题,只有与计算机科学相结合,才能研制出实用的好算法。而且好的算法必须变成数值软件后才有可能为社会创造更大的财富。当代实践证明,计算方法正在日趋明显地成为数学与计算机科学的穿插性学科。数学与计算机科学的密切关系,历史已作了答复

11、,可以说计算机科学是吸吮着数学的乳汁而成长起来的。德国数学家 Leibniz 在研究组合数学时发现的二进制编码是电子计算机诞生的根底; VOn Nellmsnll 提出了用流程图描述计算机运行过程后,软件的开发研究才得以开展和遍地开花;流行一时的构造化程序设计也是 Bohm和 JacoPini 证明的一条数学原理“任何单入口和单出口, 且没有“死循环的程序, 都能由三种最根本的控制构造构造出来的产物。另一方面,计算机的诞生和开展,给数学增加了新的血液,对数学的开展产生了不可估量的影响。借助于计算机可以证明玄妙的数学定理、提醒某些数学规律,以及求解许多原来令人一筹莫展的数学模型问题;由于并行计算

12、机的诞生和开展,促使数学工作者去研究适应新一代计算机开展需要的算法并行算法。总之,由于计算机科学的开展,可以使数学上灵活的推演和运算改变成遵循某种规律的算法设计,从而为开展数值软件奠定了根底。因此,计算方法也得到更快开展,大量适合计算机求解的现代数值方法随之产生,并被广泛使用,成为当代科学计算的主要方法。使用传统的计算方法解决实际问题,不但要求使用者具有一定的数学修养,而且还应具有相当的编程能力,因而使计算方法的广泛应用受到了影响。为解决这些问题,科学计算工作者经过长时间努力,将数值方法设计成算法,进而编制成数值软件,并逐步形成数值软件产业,为广阔用户翻开了方便之门。当今,已有不少集各种数值算

13、法于一体的综合数学软件库包括数值软件。在国内外具有代表性的局部综合数学软件库包分别为:IMSLInternational Mathematics and Statistics Library是美国 IMSL 公司研制的大型数学和统计软件库,自研制至今已更新了十多个版本,是目前国内外流传最广,影响最大的数值软件库之一。NAGmumerical Algorithm GrOUP 是英国政府研究机构联合几所大学共同研制成功的大型综合性数值软件库,它用多种语言写成,可移植性非常好,普遍流行于欧洲,在我国也有用户。“ Mathematica 是 1988 年美国 IllilloiS 大学开发成功的综合数学

14、软件包,它把符号演算、数值计算、图形演示以及人机交互接口有机地结合在一起,几乎包括大学本科的所有数学演算和数值计算,为研究和应用数学理论和方法提供了先进的环境,目前是国内外广泛流行的数学软件包。-?数值方法?实验报告4STYR是“数学、统计、应用、软件的汉语拼音的首字母人是中国科学院计算中心等单位在“七五期间联合开发的综合性数值软件库,是我国开发的第一个大型综合数值软件库,在国内有一定影响。-CUMSSChina University Mathematics and Statistics Software的缩写是1987 年-由原国家教委的六所高校联合开发成功的综合性数学与统计软件库,是我国迄

15、今第一个正式出版的大型综合数值软件库。数学软件库包的引进与开发,给工程技术人员使用数值方法求解各种数值问题带来了极大的方便。但是,如果工程技术人员仅知道如何使用这些数值软件,一旦出现问题就难于解决;再者,有不少工程技术人员需要结合各自的具体需求灵活使用软件库,或者自己设计专用算法。因此,虽然有了各种软件库,工程技术人员掌握数值方法和算法设计根底还是很有必要的,这可以使他们真正成为使用数学软件库的“主人。为此,本教程不追求完美的数学演绎、论证以及详尽的公式推导,也不以数学课程的类别为序来讲述数值计算方法,而尽量以数值计算方法间的内在联系为主线,着重介绍数值计算方法及它们之间的关系与结构,力求少而

16、精,使读者用较少的学时能对一般常用数值计算方法有较多的了解与掌握,并为进一步研究新算法奠定根底;内容以研究计算机上常用数值计算方法为主要对象,尽可能缩小数值计算方法与程序设计之间的距离,通过对一些有代表性的算法设计介绍,使读者了解数值计算方法与算法之间的关系与差异,初步掌握算法设计技术,为使用计算机求解数学模型问题架好桥梁;通过课堂教学与计算实习,使读者尽可能多地了解算法设计与程序设计之间的关系,进而培养用计算机解决实际问题的技能。以计算机为工具来求解各种数学模型,无论使用何种方法,均需要经历三个中间过程:总体设计模型的细化等,详细设计主要为算法设计和程序设计等。计算机数值计算方法主要是研究将

17、数学模型变成数值问题,并研究求解数值问题的数值计算方法,进而设计数值计算算法。二、误差序列实验一、实验描述参照 1.25 对 3 个差分方程计算出前十个数值的近似值,构造列表和图形。误差算法分别为xnr n , xnpn , xnqn .-?数值方法?实验报告5二、实验内容对以下三个差分方程计算出前10 个数值近似值。在每种情况下引入一个小的初始误1。用 MATLAB构造生成图表。差。如果没有初始误差,那么每个差分方程将生成序列2nn =1(a) r 0=0.994; rn= 1r n -1 , 其中 n=1,2, ,2(b)p0=1,p1=0.497, pn31=pn -1-pn -2,其中

18、 n=2,3, ,22(c)q0=1, q1=0.497, qn= 5qn-1 - qn -2,其中n=2,3, ,2三、实验结果及分析按附件的代码得到下面的图表。表 1 序列 = xn1/ 3n 以及近似值 r n , pn 和 qn nxnrnpnqn01.000000000000.994000000001.0000000000001.0000000000000000000000000010.500000000000.497000000000.4970000000000.4970000000000000000000000020.250000000000.248500000000.24550

19、00000000.2425000000000000000000000030.125000000000.124250000000.1197500000000.1152500000000000000000000040.062500000000.062125000000.0568750000000.0516250000000000000000000050.031250000000.031062500000.0254375000000.019812500000-?数值方法?实验报告60000000000000060.015625000000.015531250000.0097187500000.003

20、9062500000000000000000070.007812500000.007765625000.001859375000-0.0040468750000000000000000080.003906250000.00388281250-0.00207031250-0.00802343750000000000000000090.001953125000.00194140625-0.00403515625-0.01001171875000000000000000010.000976562500.00097070312-0.00501757812-0.011005859370000050005

21、0005000表 2 误差序列 xrn,xnp 和 xq nnnnnxn rnxnpnxn qn00.006000000000.0000000000000.000000000000000000000010.003000000000.0030000000000.003000000000000000000020.001500000000.0045000000000.007500000000000000000030.000750000000.0052500000000.015750000000000000000040.000375000000.0056250000000.03187500000000

22、0000000050.000187500000.0058125000000.063937500000001000000060.000093750000.0059062500000.127968750000001000000070.000046875000.0059531250000.255984375000003000000080.000023437500.0059765625000.511992187500005000000090.000011718750.0059882812501.0239960937500100000000100.000005859370.0059941406252.0

23、479980468750215000000-?数值方法?实验报告7 rn 是误差稳定的,且按指数级递减,相差不大较为稳定,说明该序列和等比序列较为-接近。 pn 的误差不大较为稳定,但误差呈递增状态,所以其逼近效果不如 r n 。 qn 的误-差是不稳定的,变化幅度较大,即n 越大,误差越大,说明当n时,误差可能比数值更-大。以下就是差分方程的的图形-3x 107654rn-nx3210012345678910n图 1稳定递减的误差序列 xnrn -?数值方法?实验报告8-3x 10654np-n3x210012345678910n图 2 稳定的误差序列 xnpn -?数值方法?实验报告92.

24、521.5np-nx10.50012345678910n图 3不稳定的误差序列 xnqn 四、结论通过对于差分方程的求解可知,不同的差分方程的初始误差传播会随着其表达式的不同有很大差异性。因此,对于不同差分方程的选取问题和计算问题应慎重选择,选择稳定算法。附件代码:n=0:10;xn=1./(2.n)%-n is the input-sequence%-xn is the value of the sequence(a)r0=0.994;r(1)=r0/2for n=2:10r(n)=r(n-1)/2;%-r(n) is the general term of xnendr0,r-?数值方法?

25、实验报告10(b)p0=1;p(1)=0.497;p(2)=3*p(1)/2-p0/2;for n=3:10p(n)=3*p(n-1)/2-p(n-2)/2;%-p(n) is the general term of pnendp0,p%- show all the items of pn(c)q0=1;q(1)=0.497;q(2)=5*q(1)/2-q0;for n=3:10q(n)=3*q(n-1)/2-q(n-2)/2;%-r(n) is the general term of pnendq0,q%- show all the items of qn(3.1)r0=0.994;r(1)

26、=r0/2for n=2:10r(n)=r(n-1)/2;%-r(n) is the general term of rnendrn=r0,rn=0:10;xn=1./(2.n);y=xn-rn%- show all the items of xn-rnplot(n,y,.)xlabel(n);ylabel(xn-rn);-?数值方法?实验报告11%- plot the figure of xn-rn(3.2)p0=1;p(1)=0.497;p(2)=3*p(1)/2-p0/2;for n=3:10p(n)=3*p(n-1)/2-p(n-2)/2; %-p(n) is the general

27、term of pn endzn=p0,p;n=0:10;xn=1./(2.n);z=xn-zn%- show all the items of xn-znplot(n,z,.)xlabel(n);ylabel(xn-pn);%- plot the figure of xn-zn(3.3)q0=1;q(1)=0.497;q(2)=5*p(1)/2-q0;for n=3:10q(n)=5*q(n-1)/2-q(n-2); %-q(n) is the general term of qn endqn=q0,q;n=0:10;xn=1./(2.n);w=xn-qn%- show all the items of xn-wnplot(n,w,.)xlabel(n);ylabel(xn-pn);%- plot the figure of xn-pn-?数值方法?实验报告12,-

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!