lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序

lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序

ID:29640524

大小:119.51 KB

页数:9页

时间:2018-12-21

lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序_第1页
lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序_第2页
lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序_第3页
lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序_第4页
lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序_第5页
资源描述:

《lu分解法、列主元高斯法、jacobi迭代法、gauss-seidel法的原理及matlab程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、南昌航空大学数学与信息科学学院实验报告一、实验目的及题目1.1实验目的:(1)学会用高斯列主元消去法,LU分解法,Jacobi迭代法和Gauss-Seidel迭代法解线性方程组。(2)学会用Matlab编写各种方法求解线性方程组的程序。1.2实验题目:1.用列主元消去法解方程组:2.用LU分解法解方程组其中,3.分别用Jacobi迭代法和Gauss-Seidel迭代法求解方程组:二、实验原理、程序框图、程序代码等2.1实验原理2.1.1高斯列主元消去法的原理Gauss消去法的基本思想是一次用前面的方

2、程消去后面的未知数,从而将方程组化为等价形式:这个过程就是消元,然后再回代就好了。具体过程如下:对于,若依次计算第8页南昌航空大学数学与信息科学学院实验报告然后将其回代得到:以上是高斯消去。但是高斯消去法在消元的过程中有可能会出现的情况,这时消元就无法进行了,即使主元数但是很小时,其做除数,也会导致其他元素数量级的严重增长和舍入误差的扩散。因此,为了减少误差,每次消元选取系数矩阵的某列中绝对值最大的元素作为主元素。然后换行使之变到主元位置上,再进行销元计算。即高斯列主元消去法。2.1.2直接三角分解

3、法(LU分解)的原理先将矩阵A直接分解为则求解方程组的问题就等价于求解两个三角形方程组。直接利用矩阵乘法,得到矩阵的三角分解计算公式为:由上面的式子得到矩阵A的LU分解后,求解Ux=y的计算公式为以上为LU分解法。第8页南昌航空大学数学与信息科学学院实验报告2.1.3Jacobi迭代法和Gauss-Seidel迭代法的原理(1)Jcaobi迭代设线性方程组(1)的系数矩阵A可逆且主对角元素均不为零,令并将A分解成(2)从而(1)可写成令其中.(3)以为迭代矩阵的迭代法(公式)(4)称为雅可比(Jac

4、obi)迭代法,其分量形式为(5)其中为初始向量.(2)Gauss-Seidel迭代由雅可比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i个分量时,已经计算出的最新分量没有被利用。把矩阵A分解成(6)其中,分别为第8页南昌航空大学数学与信息科学学院实验报告的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成即其中(7)以为迭代矩阵构成的迭代法(公式)(8)称为高斯—塞德尔迭代法,用分量表示的形式为2.2程序代码2.2.1高斯列主元的代码functio

5、nGauss(A,b)%A为系数矩阵,b为右端项矩阵[m,n]=size(A);n=length(b);fork=1:n-1[pt,p]=max(abs(A(k:n,k)));%找出列中绝对值最大的数p=p+k-1;ifp>kt=A(k,:);A(k,:)=A(p,:);A(p,:)=t;%交换行使之变到主元位置上t=b(k);b(k)=b(p);b(p)=t;endm=A(k+1:n,k)/A(k,k);%开始消元A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n)

6、;b(k+1:n)=b(k+1:n)-m*b(k);A(k+1:n,k)=zeros(n-k,1);ifflag~=0第8页南昌航空大学数学与信息科学学院实验报告Ab=[A,b];endendx=zeros(n,1);%开始回代x(n)=b(n)/A(n,n);fork=n-1:-1:1x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);endfork=1:nfprintf('x[%d]=%f',k,x(k));end2.2.2LU分解法的程序functionLU(A,

7、b)%A为系数矩阵,b为右端项矩阵[m,n]=size(A);%初始化矩阵A,b,L和Un=length(b);L=eye(n,n);U=zeros(n,n);U(1,1:n)=A(1,1:n);%开始进行LU分解L(2:n,1)=A(2:n,1)/U(1,1);fork=2:nU(k,k:n)=A(k,k:n)-L(k,1:k-1)*U(1:k-1,k:n);L(k+1:n,k)=(A(k+1:n,k)-L(k+1:n,1:k-1)*U(1:k-1,k))/U(k,k);endL%输出L矩阵U%输

8、出U矩阵y=zeros(n,1);%开始解方程组Ux=yy(1)=b(1);fork=2:ny(k)=b(k)-L(k,1:k-1)*y(1:k-1);endx=zeros(n,1);第8页南昌航空大学数学与信息科学学院实验报告x(n)=y(n)/U(n,n);fork=n-1:-1:1x(k)=(y(k)-U(k,k+1:n)*x(k+1:n))/U(k,k);endfork=1:nfprintf('x[%d]=%f',k,x(k));end2.2.3Jacob

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

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

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