(西南交通大学数值分析上机报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(西南交通大学数值分析上机报告

目 录 目 录 1 序 言 (1) 2 1.1 C语言简介及结构 2 1.2 C语言特点及优点 2 1.3 选用原因 3 第一题 4 用雅格比法与高斯-赛德尔迭代法解下列方程组 4 1.1题目 4 1.2原理和思路 4 1.3计算结果与分析 7 第二题 10 松弛因子对SOR法收敛速度的影响 10 2.1题目 10 2.2原理和思路 10 2.3计算结果与分析 12 序 言 (2) 16 第三题 17 利用四阶Runge-Kutta算法求解微分方程的初值问题 17 3.1题目 17 3.2原理和思路 17 3.3计算结果与分析 18 附录1 Jacobi迭代法C语言源程序 21 附录2 Gauss-Seidel迭代法程序代码 23 附录3 SOR迭代法C语言源程序 25 附录4 四阶Runge-Kutta算法程序代码 27 总结与体会 29 本报告系西南交通大学2011级硕士研究生《数值分析》课程的上机实习报告,由本人严格按照实习要求独立完成。 序 言 (1) 在第一次给定的四道上机题中,我选择的是第三题(雅格比迭代法、高斯—赛德尔迭代法求解方程组的问题)和第四题(松弛因子对SOR法收敛速度的影响),本次上机实习基于Microsoft Visual Studio.NET平台进行程序建立,采用C语言面向对象语言,从界面设计到结果输出,完成一个具有针对性的可视化Windows应用程序的编制。 在此序言中,我将阐述C语言的基本结构、优特点以及选用这种语言进行编程的主要原因。 1.1C语言简介及结构 C语言是一种计算机程序设计语言由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上既有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件三维二维图形和动画。一个C语言源程序可以由一个或多个源文件组成每个源文件可由一个或多个函数组成一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数源程序中可以有预处理命令(包括include 命令、if命令、pragma命令),预处理命令通常应放在源文件或源程序的最前面每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。C语言作为一种优秀的编程语言,使用起来灵活方便,程序执行效率高,可移植性好,可以把程序写为函数,方便多次调用; (2)可视化交互性:C语言可创建Windows应用程序,可视性程度高,与使用者的交互简单,有利于体会程序的设计过程,尤其是在编写数值分析的各种算法过程中,可以清晰的理解算法的实现过程,使深刻理解该算法; (3)个人基础:作为一名工科学生,曾在大学期间有系统的学习过C语言,具备一定的理论基础和实践操作能力,能够较好的应用该语言进行运算,有助于上机实习过程的顺利完成。 鉴于以上考量,我决定选择C语言进行编程。 第一题 用雅格比法与高斯-赛德尔迭代法解下列方程组 1.1题目 【3】用雅格比法与高斯-赛德尔迭代法解下列方程组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原理和思路 1.2.1 基本原理 (1)Jacobi迭代法 设有n阶方程组Ax=b,若系数矩阵非奇异,且 (i = 1, 2,…, n),将方程组改写成同解方程组: 然后写成迭代格式: 上式也可以简单地写为: 对以上两式给定一组任意初值后,经反复迭代可得到一向量序列,如果x (k)收敛于,则就是方程组Ax=b的解,该方法称为雅克比(Jacobi)迭代法。 设D = diag (a11, a22, …, ann),将Ax=b改写为: AX = (D – (D - A)) x = b,DX = (D - A) x + b,X = (I – D-1A) x + D-1b。记B = I

文档评论(0)

wwy463wj + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档