基于matlab的线性方程组数值算法实现

基于matlab的线性方程组数值算法实现

ID:18832333

大小:250.50 KB

页数:7页

时间:2018-09-25

基于matlab的线性方程组数值算法实现_第1页
基于matlab的线性方程组数值算法实现_第2页
基于matlab的线性方程组数值算法实现_第3页
基于matlab的线性方程组数值算法实现_第4页
基于matlab的线性方程组数值算法实现_第5页
资源描述:

《基于matlab的线性方程组数值算法实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于MATLAB的线性方程组数值算法实现摘要:MATLAB图形用户界面(GUI)编程技术是当今计算机数值计算的重大成就之一,它在软件编程上具有着友好性、直观性、易懂性的优点而被广泛应用。本文主要介绍图形用户界面在求解线性方程组中的应用,同时介绍了求解大型线性方程组的主要迭代算法。首先,对一些经典迭代法(Jacobi方法、Gauss-Seidel方法)进行了详细的讨论,并从理论上给出了迭代公式。最后通过用MATLAB图形用户界面(GUI)编程对求解线性方程组的设计一个用户与计算机直接交互界面,实现简单的求解线性方程组的应用软件。关键字:图形用户界面;线性方程组;直接求解法;迭代法一、引

2、言MATLAB以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。MATLAB的附带功能图形用户界面(GUI)更具有友好性、直观性、易懂性的优点而被广泛应用[1]。与此同时,数值计算软件的发展与成熟,在强调数值计算方法的原理、思想和基本理论的同时,适当淡化了算法的细节和繁杂的理论证明,并在一个通用的软件平台上开展。而在当今社会中,线性方程组被广泛应用,如一个实际问题中归纳出来的数学模型中出现的函数、方程或不等式都是线性的。线性模型在社会经济中的数据计算、信息处理、均衡生产、减少消耗、增加产出等方面有着广泛的应用,

3、是我们改善企业生产管理、提高经济的有效工具。由于线性方程组在各学科的广泛应用,其重要性是显而易见的,有必要对线性方程组的求解进行讨论.但随着社会的发展,线性模型即线性方程组的求解也越来越复杂,针对解线性方程组有几种很好的经典算法,如Jacobi迭代法、Guass-Seidel迭代法和SOR迭代法等。本文根据人们需要方便快捷,通俗易懂的原则,设计了一个求解线性方程组的软件应用界面,在GUI上实现解线性方程组的直接法、Jacobi迭代法、Guass-Seidel迭代法。二、建立线性方程组设线性方程组有解,则方程组有如下形式:假设其中即有:;有系数矩阵:;右端向量:;1.直接解法关于线性方

4、程组的直接解法是数值分析研究的一个核心内容,通常所采用的直接解法大多基于Gauss消去法、选主元消去法、平方根法、追赶法等。在MATLAB中,只需用一个“/”或“”就解决问题。虽然表面上只是一个简简单单的符号,而它的内部却包含着许许多多的自适应算法,程序会自动根据输入的系数矩阵判断选用哪种方法进行求解。1)左除运算符的直接解法对于线性方程组,可以利用左除运算“”求解:当系数矩阵A为的方阵时,MATLAB会自行用高斯消元法求解方程组。可以直接获得方程组的数值解x。2)利用矩阵LU分解求方程组的解通LU分解方法来求解大型的方程组非常有用。通过分解方法求解的有运算速度快、可以节省磁盘空

5、间、节省内存优点。LU分解又称为GAUSS消去法,可把任意方阵分解为下三角矩阵的基本变换形式和上三角矩阵的乘积。既,L为下三角阵,U为上三角阵。则有变换成,有.而且在MATLAB中有LU的调用格式。2.迭代法在MATLAB中,迭代解法非常适合求解大型系数矩阵的方程组。先给定一个解的初始值,然后按照一定的迭代格式进行逐步的逼近,求解出更精确的近似解。在数值分析中,迭代解法的两种经典算法Jacobi迭代法,Gauss-Serdel迭代法。1)Jacobi迭代法对于线性方程组,如果系数矩阵A为非奇异的方阵,即,则可将A分解为,其中D为对角阵,其中元素为A的对角元素,L与U分别为A的严格下三

6、角和严格上三角。则可表示为:于是转化为:与之对应的迭代公式为:其中,。这就是Jacobi迭代公式。如果序列收敛于x,则x必是方程的解。1)Gauss-Serdel迭代法在上述Jacobi迭代结果中,给出的可以改进为:则得Gauss-Serdel迭代法公式为:其中,。该Gauss-Serdel迭代法和Jacobi迭代法相比,Gauss-Serdel迭代法用新分量代替旧分量,精度会高些。一、实例应用1)用左除直接法求解方程组在输入框分别输入;;单击LU直接法按钮,可得到如图1所示结果:2)用LU直接法求解方程组在输入框分别输入;;单击LU直接法按钮,可得到如图2所示结果:1)用Jacob

7、i跌代法求解方程组在输入框分别输入;;;单击Jacobi跌代法按钮,可得到如图3所示结果:1)用Gauss迭代法求解上述方程组在输入框分别输入;;;单击Jacobi跌代法按钮,可得到如图4所示结果:从上的迭代次数可以看出:一般地,当两种迭代法均收敛时,Gauss-Seidel迭代法一般都优于Jacobi迭代法。一、优良性评价与改进本文通过系统介绍了求解线性方程组的两种直接法和两种迭代法,并详细的在MATLAB里实现的求解线性方程组的四种算法:运用左除运算符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。