ImageVerifierCode 换一换
格式:DOC , 页数:43 ,大小:309.50KB ,
资源ID:13047282      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13047282.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(线性方程组的求解-——计算机课程设计Word下载.doc)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

线性方程组的求解-——计算机课程设计Word下载.doc

1、4. 撰写课程设计报告 4天 指导教师: 摘要 许多源于工程技术方面的数学问题,都可以归结为解求线性方程组。因此在各种数据处理中,线性方程组的求解是最常见的问题之一。 针对求解线性代数方程组,本文提出了两种解法:迭代法和高斯消去法。迭代法程序设计简单,可以实现高精度,本文用vc编程实现。高斯消去法数值较稳定,克服了迭代数据易溢出的缺点,本文用vb编程实现。相比vc,vb界面更美观,可视性和实用性好,更适合于此款计算软件。 本文中的程序能快速求解出10 维以下线性代数代数方程组的解,在迭代法vc程序中提示精度且显示迭代过程,在vb高斯消去法软件根据线性方程组的维数显示输入框,并依次显示计算结果。

2、可以重复计算。两款程序都能保证一定的高精度。这将为计算者带来很大的方便。关键词:高斯消去法,迭代法,线性方程,动态数组 指导老师签名:目录一.设计要求 4二.设计的目的意义 4三.设计思想 53.1确定方法 53.2数据分析 63.3算法分析 6四.软件的编制和调试 84.1用迭代法在VC环境下开发 84.1.1VC环境介绍 84.1.2程序流程图 104.1.3程序主代码 104.1.4程序运行图 134.1.5程序说明 144.1.6程序改进方向 144.2用高斯消去法在VB环境下开发 154.2.1VB环境介绍 154.2.2程序流程图 184.2.3程序主代码 194.2.4程序运行图

3、 234.2.5程序说明 244.2.6程序改进方向 24五. 总结 25六. 致谢 25七.参考文献 26附录 26一.设计要求 要求设计一个简便的科学计算软件可以实现线性代数方程组的求解,软件功能要求如下: 1、设置一个提示语句提示输入方程的个数; 2、设置一个提示语句提示输入未知数的个数; 3、准确、快速的计算出所输入方程组的解,并显示出来。二.设计的目的意义 许多源于工程技术方面的数学问题,都可以归结为解求线性方程组。因此设计一种实用的解线性方程组软件可以给计算带来很大的便利,提高人们的工作效率。三.设计思想3.1 确定方法 可以使用高斯消去法和迭代法。 迭代法不仅具有程序设计简单,适

4、于自动计算,而且较直接法更少的计算量就可获得满意的解。因此,迭代法亦是求解线性方程组,尤其是求解具有大型稀疏矩阵的线性方程组的重要方法之一。 Gauss 消去法是解线性方程组的一种直接方法,有时也称为精确法,这种算法只包含有限四次运算,并且在每一步运算过程都不会发生舍入误差的假设下,计算的结果就是方程组的精确解。但实际计算中不可避免舍入误差的存在和影响,所以这种方法只能求得线性方程组的近似解。3.2编程思路线性方程组的一般形式是a*x=b,编写这种程序最重要的是算法,正确的编写求解函数高斯消元法首先把矩阵化为上三角阵,根据上三角阵的情况判断解的情况,如果有唯一解则输出结果。接下来是设计输入对话

5、框,由于矩阵的维数不固定,要根据需要来显示。根据未知数的个数控制文本框显示的数目、按钮位置和窗口的大小。可以先创建两个text数组,一个用来输入a,一个用来输入b,另外还可以用两个标签来标记他们的位置,这当中可以用空格来控制。3.3算法分析 3.3.1高斯消去法 高斯消去法的基本思想是:对线性代数方程组所对应的增广矩阵(A|b)进行一系列“把某一行的非零常数倍加到另一行上”的初等变换,使得(A|b)中A的对角线一下的元素全变为0,从而使原方程组等价的转化为容易求解的上三角形线性代数方程组,再通过回代得到上三角形线性代数方程组的解,即可求得原方程组的解。设线性方程组的增广矩阵为: = 首先,在第

6、一列中选取绝对值最大的元素 作为第一列的主元,即 ,然后交换第一行与第i行,经一次消元计算得:=(AB)。 重复上述过程,设已完成第k-1步的选主元素,交换两行及消元过程后(AB)已约化为 : 第k步选主元素,在右下角方阵的第一列内选取绝对值最大的元素作为这一列的主元,即 = ,然后交换的第i行与第k行,再进行消元计算。如此重复,直到最后将原线性代数方程组化为 : =回代求解得到 列主元消去法除了每步需要按列选出主元,然后进行对换外,其消去过程与高斯顺序消去法是相同的。 3.3.2迭代法迭代法的基本思想:是将线性方程组转化为便于迭代的等价方程组,对任选一组初始值(i=1,2n),按某种计算规则

7、,不断地对所得到的值进行修正,最终获得满足精度要求的方程组的近似解。对于线性方程组Ax=b。其中,A为非奇异矩阵。将A分裂为A=M-N,其中,M为非奇异矩阵,且要求线性代数方程组Mx=d容易求解,一般选择为A的某一部分元素构成的矩阵,称M为A的分裂矩阵。于是,求解Ax=b转化为求解Mx=Nx+b,由此可构造一个迭代法:x(0)(初始向量), x(k+1)=Bx(k)+f,(k=0,1,2) 其中,f=b/M,B=I-A/M为迭代法的迭代矩阵。选取M为A的对角元素组成的矩阵,即选取M=D,可得到解Ax=b的雅克比迭代法:x(0)(初始向量),x(k+1)=Bx(k)+f (k=0,1,2) BJ

8、为求解Ax=b的雅克比迭代法的迭代矩阵。解雅克比迭代法的计算公式为: (k=0,1,2,:i=1,2,3,.n)雅克比方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,它是基于以下两个结论:1)任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q使得 AQ=diag() 其中i(i=1,2,n)是A的特征值,Q中各列为相应的特征向量。2)在正交相似变换下,矩阵元素的平方和不变。即设,Q为交矩阵,记B=AQ=,则雅克比方法的基本思想:是通过一次正交变换,将A中的一对非0的非对角线化成0,并且使得非对角元素的平方和减小。反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于0,

9、从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。四.软件的编制和调试4.1 迭代法解线性方程组在VC6.0环境【3】下开发4.1.1 VC6.0环境介绍Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用有很大的局限性,只适用

10、于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。特色:Visual C+6.0由Microsoft开发, 它不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品

11、。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。缺点:由于C+是由C语言发展起来的,也支持C语言的编译。6.0版本是使用最多的版本,很经典。最大的缺点是对于模版的支持比较差。现在最新补丁为SP6,推荐安装,否则易出现编译时假死状态。仅支持Windows操作系统。目前发现与windows 7兼容性不好,安装成功后可能会出现无法打开cpp文件的现象。4.1.2程序流程图结束图4.1.2a 程序流程图4.1.3迭代法VC核心编码struct Line *Change(struct Line*Lhead,int n)struct Line*p1,*p2,*p3,*p;struct Row*ptr;int i=1,k,j;float max,t;if(Lhead=NULL)printf(链表为空!n);exit(1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1