数值分析上机实习报告.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数值分析

——上机实习报告

学号:

姓名:

专业:

联系:

任课老师:

二零一一年十二月

序言

数值分析在现代科学开展中有着重要的作用,而随着科学的开展进步,越来越多的数值分析问题不能够光靠人力计算,这就要借助计算机进行计算。而在利用计算机解决实际问题时,要根据具体情况作出可靠的理论分析,才能够写出比拟可靠的程序。现在面向数值分析问题的计算机软件有:C、C++、MATLAB、Python、Fortran等。

C++是笔者在本科学过的唯一一门编程语言,但是由于学习时间较短,而且在学习时不精,再加上时间已久远,对这门编程语言课程已经几乎没有多少印象了。Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的开展历史,成熟且稳定。Python具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。Fortran为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。Fortran语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。

MATLAB〔矩阵实验室〕是一个功能强大的软件,是一种数值计算环境和编程语言。在当今世界流行的30多个数学类软件中,MATLAB语言处于数值计算型软件的主导地位,适用范围涵盖了工程数学的各个方面。它的有点主要有:

1、matlab是以矩阵为根底的工具,假设是编一些对速度没有要求的,进行数值计算或者信号处理的小程序,可以用matlab,且简单。

2、matlab除具备卓越的数值计算能力外,它还提供有专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

3、matlab的根本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,所以用matlab来解算问题要比用C、FORTRAN等语言完成相同的事情简捷得多。

在新版本中也参加了对C、FORTRAN、c++、JAVA的支持,使用时可以直接调用,也可将编写的实用程序导入到matlab函数库中方便以后使用时调用。

本次编程所用的软件为MATLAB,希望通过这次作业,能够对它有了初步的认识,为以后的学习和工作奠定一定的根底。

目录

TOC\o1-3\h\z\u1.第一题 1

1.1题目 1

1.2雅各比迭代和高斯塞德尔法迭代的思想 1

雅各比算法 1

高斯-塞德尔方法 1

雅各比法和高斯-赛德尔迭代法的收敛条件 1

1.3问题的求解 2

1.4方法总结 5

2.第二题 6

2.1题目 6

2.2松弛思想分析 6

2.3问题的求解 6

2.4方法总结 13

3.第三题 14

3.1题目 14

3.2Runge-Kutta法的根本思想 14

3.3问题的求解 14

3.4问题的总结 15

总结 16

附件 17

第一题:雅阁比和高斯-赛德尔迭代法 17

第二题:SOR法 19

第三题:四阶Runge-Kutta算法 20

1.第一题

1.1题目

用雅格比法与高斯-赛德尔迭代法解以下方程组Ax=b,研究其收敛性,上机验证理论分析是否正确,比拟它们的收敛速度,观察右端项对迭代收敛有无影响。

(1)A行分别为:A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4];

b1=[-3,2,4]T,b2=[100,-200,345]T;

(2)A行分别为:A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];

b1=[3,2,1]T,b2=[5,0,-10]T;

(3)A行分别为:A1=[1,3],A2=[-7,1];b=[4,6]T;

1.2雅各比迭代和高斯塞德尔法迭代的思想

迭代法是将方程组Ax=b转化为x=Bx+f,构成了迭代格式:

x(k+1)=Bxk+fk=0,1,2n

反复适用该式子,产生了{xk}的向量序列,如果这个向量序列收敛于x*,那么有x*是方程组的解。因此,根据精度的要求选择一个适宜的xk作为近似解。这就是线性方程组的迭代法。

雅各比算法

将系数矩阵A分解为:A=L+U+D,那么推到的最后迭代公式为:

x=-D-1(L+U)x(k)+D-1b

其中,迭代矩阵为BJ=-D-1(L+U)

高斯-塞德尔方法

高斯-塞德尔方法是从雅各比演变而来的,其矩阵形式为

x(k+

您可能关注的文档

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档