数值分析线性方程组的实验报告包含代码详解.doc

数值分析线性方程组的实验报告包含代码详解.doc

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

线性代数方程组的直接解法 实验目的: 线性方程组求解的直接法编程实现 线性方程组求解的主元素消去法算法实现 线性方程组求解的LU分解得方法算法实现 线性方程组求解追赶法算法实现 实验比较:高斯消去、主元素消去、LU分解都用实例 这个进行比较。 知识理论 解线性方程组的方法大致分为直接法和迭代法。直接法是指假设计算过程中不产生舍入误差,经过有限次的运算可求的方程组精确解的方法。 方程(2-1) 记为:AX=b; 一、高斯(Gauss)消元法 (1).Gauss消元法是最基本的一种方法。先逐次消去变量,将方程组化成同解的上三角方程组。 消元过程:先逐次消去变量,将方程组化成同解的上三角方程组 基本思想 回代过程:按方程的相反顺序求解三角形方程组,得到原方程组的解。 (2) Gauss消去法的求解思路为: 若先让第一个方程组保持不变,利用它消去其余方程组中的,使之变成一个关于变元的n-1阶方程组。按照(1)中的思路继续运算得到更为低阶的方程组。经过n-1步的消元后,得到一个三角方程。利用求解公式回代得到线性方程组的解。 消元过程:第一次消元, (i=1,2,3……,n).将(2-1)中第i个方程减去第一个方程乘以(i=1,2,3……,n),完成第一次消元, (2-2) 其中:; : 简记为: 其中: 按上述方法完成n-1次消元后得到。同解的三角方程组: 简记为: 回代过程: 按逆序逐步回代得到方程的解。 (3)算法: (5)Matlab程序代码: function [RA,RB,n,X]=gaus(A,b) B=[A,b]; n = length(b); RA = rank(A); RB= rank(B); zhicha = RB-RA; if(zhicha~=0) disp(因为RA≠RB,所以此方程组无解); return; end if RA==RB if RA == n disp(因为RA=RB=n,所以此方程有唯一解); X=zeros(n,1); for p = 1:n-1 for k = p+1:n m = B(k,p)/B(p,p); B(k,p:n+1)=B(k,p:n+1)-m*B(p,p:n+1); end end b = B(1:n,n+1); A = B(1:n,1:n); X(n) =b(n)/A(n,n); for q = n-1:-1:1 X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q); end else disp(因为RA=RBn,所以此方程有无穷解); end end 运行检测: A=[1 1 1;12 -3 3;-18 3 -1]; b=[6;15;-15]; [RA,RB,n,X]=gaus(A,b) 因为RA=RB=n,所以此方程有唯一解 RA = 3 RB = 3 n = 3 X = 1.0000 2.0000 3.0000 二、 主元素法 1.列主元素法消元 (1)基本思想:在每次消元前,在要消去未知数的系数中找到绝对值最大的系数作为主元,通过对换行将其换到对角线上,然后进行消元. (2)消元过程: 与Gauss很类似,每次对对角线换成最大的值,后面过程与Gauss基本相同。 如此经过n-1步,(2-1)的增广矩阵[A,b]被化为上三角矩阵; 回代过程: 同Gauss算法一样回代求解。 (3)算法: det-1 对于k=1,2,3,…n-1; |aik,k|=max|aik|(k≤i≤n) (i)如果aik=0,则停止计算(det(A)=0) (ii)如果aik=k,则zhuan(i) 换行 akj-- aik,j(j=k,k+1,…n) bk-- bik 后边就是Gauss消元 (4).Matlab程序 function X=liezhu(A,b) B=[A,b]; n=length(b); RA=rank(A); RB=rank(B); if RA==RB if RA==n disp(因为系数矩阵与增广矩阵的秩相同且为n,此方程有唯一解) X=zeros(n,1); for p=1:n-1 [y,j]=max(abs(B(p:n,p)));

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档