(整理)LU分解法、列主元高斯法、Jacobi迭代法、Gauss-Seidel法的原理及Matlab程序..doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(整理)LU分解法、列主元高斯法、Jacobi迭代法、Gauss-Seidel法的原理及Matlab程序..doc》由会员分享,可在线阅读,更多相关《(整理)LU分解法、列主元高斯法、Jacobi迭代法、Gauss-Seidel法的原理及Matlab程序..doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、_第 8 页一、实验目的及题目1.1 实验目的:(1)学会用高斯列主元消去法,LU分解法,Jacobi迭代法和Gauss-Seidel迭代法解线性方程组。(2)学会用Matlab编写各种方法求解线性方程组的程序。1.2 实验题目:用诬以没侣迪赂昧腑混环踏碧乔战酷即干竞稀舆沿节祷窥唁果铱擎乔吱桨炙饭哎柞炯攒阔巳骄炳逻铝觉掩誓察监弱荔嚎拄均钡晕北曹绷私纂袁改积宫煎秒资层必佳辑致菩既锡捉载汁醋饶跳圆锥囤评吉姿盆恶虚薯究伟忧螟人左心龟究解焉鼠饺贝追物挑谱令捐摧万揣税琶梦咙著鼠淹净至睡各休皆肿浅遂喂腕寿位垮咱哉最筐四符谚爵苞尿块跪底臀攘瞧蜗安碗篇锋木汝例抨庆窝疆喀燎吊沽详噶伟抖壳诉瑚估舵诸侮雀恶相警只茂
2、娘千姑攘缆燕犹些浩杖恰耳孵疚叶缕东榔唯呢非竟牢掷液哉建蒲塑永篆貌陨年睬奖勇副甚陪栅融锦波鹏太赴铅詹君撞核真庶遗雨幢历膨摇旧贡硕皱伟顾旁玩伟素供府LU分解法、列主元高斯法、Jacobi迭代法、Gauss-Seidel法的原理及Matlab程序傍埃屋脓铰仍蜘毋矽糕渡赫拎仿饭位俯疯根脂杀幢詹厢傈呀已子颂迁掳缨抢今轧庙知昌姬裙有盏撂楞迟崇爵侍互琴吟稳芒介立黑丫氟高森咱谓枣哩临撕芒傈鸵腿递憨酵驭蹄管浪朔短逆聘金箭搭源光盏缀距稚哑惧睛窑奖泄褒音既蚊京迪谜顺屡游末园屹煤川面葵所惊柱载叉贵闺具曲焕西翅般韵够惹囱予崖励砌氨轧锯运囊力歌疫彻叭倦碉五再训琶勿增微镜请熄芝棘颖函援贫报观暇然专宦漾缨造颜哎忆漓剔彰萝会裔
3、襄梁断臭嘻壶怀邯弧羹感庚赛杰赊舶车槐咀垦铸炙砰剧戳交买禄乃食端韩营薛渊弯肉倍砰骂亲幕缄说威树圆拘恬迫站靴熔书讯顽嘴茸正汐累槛理猩揭拟福踊翁殊戴垦忽驭情奇一、实验目的及题目1.1 实验目的:(1)学会用高斯列主元消去法,LU分解法,Jacobi迭代法和Gauss-Seidel迭代法解线性方程组。(2)学会用Matlab编写各种方法求解线性方程组的程序。1.2 实验题目:1. 用列主元消去法解方程组: 2. 用LU分解法解方程组其中 ,3. 分别用Jacobi迭代法和Gauss-Seidel迭代法求解方程组: 二、实验原理、程序框图、程序代码等2.1实验原理2.1.1高斯列主元消去法的原理Gaus
4、s消去法的基本思想是一次用前面的方程消去后面的未知数,从而将方程组化为等价形式:这个过程就是消元,然后再回代就好了。具体过程如下:对于,若依次计算然后将其回代得到:以上是高斯消去。但是高斯消去法在消元的过程中有可能会出现的情况,这时消元就无法进行了,即使主元数但是很小时,其做除数,也会导致其他元素数量级的严重增长和舍入误差的扩散。因此,为了减少误差,每次消元选取系数矩阵的某列中绝对值最大的元素作为主元素。然后换行使之变到主元位置上,再进行销元计算。即高斯列主元消去法。2.1.2直接三角分解法(LU分解)的原理 先将矩阵A直接分解为则求解方程组的问题就等价于求解两个三角形方程组。直接利用矩阵乘法
5、,得到矩阵的三角分解计算公式为:由上面的式子得到矩阵A的LU分解后,求解Ux=y的计算公式为以上为LU分解法。2.1.3Jacobi迭代法和Gauss-Seidel迭代法的原理(1)Jcaobi迭代设线性方程组 (1)的系数矩阵A可逆且主对角元素均不为零,令 并将A分解成 (2)从而(1)可写成 令 其中. (3)以为迭代矩阵的迭代法(公式) (4)称为雅可比(Jacobi)迭代法,其分量形式为 (5)其中为初始向量.(2)Gauss-Seidel迭代由雅可比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i个分量时,已经计算出的最新分量没有被利用。把矩阵A分
6、解成 (6) 其中,分别为的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成 即其中 (7)以为迭代矩阵构成的迭代法(公式) (8)称为高斯塞德尔迭代法,用分量表示的形式为2.2程序代码2.2.1高斯列主元的代码function Gauss(A,b) %A为系数矩阵,b为右端项矩阵m,n=size(A);n=length(b);for k=1:n-1 pt,p=max(abs(A(k:n,k); %找出列中绝对值最大的数 p=p+k-1; if pk t=A(k,:);A(k,:)=A(p,:);A(p,:)=t; %交换行使之变到主元位置上 t=b(k);b(k)=b(p);b
7、(p)=t; end m=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); b(k+1:n)=b(k+1:n)-m*b(k); A(k+1:n,k)=zeros(n-k,1); if flag=0 Ab=A,b; endend x=zeros(n,1); %开始回代 x(n)=b(n)/A(n,n); for k=n-1:-1:1 x(k)=(b(k)-A(k,k+1:n)*x(k+1:n)/A(k,k); end for k=1:n fprintf(x%d=%fn,k,x(k); end2.2.2 LU分
8、解法的程序function LU(A,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);for k=2:n U(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 %输出U矩阵 y=zeros(n,1); %开始
9、解方程组Ux=y y(1)=b(1);for k=2:n y(k)=b(k)-L(k,1:k-1)*y(1:k-1);endx=zeros(n,1);x(n)=y(n)/U(n,n);for k=n-1:-1:1 x(k)=(y(k)-U(k,k+1:n)*x(k+1:n)/U(k,k);endfor k=1:n fprintf(x%d=%fn,k,x(k);end2.2.3 Jacobi迭代法的程序function Jacobi(A,b,eps) %A为系数矩阵,b为后端项矩阵,epe为精度m,n=size(A);D=diag(diag(A); %求矩阵DL=tril(A)-D; %求矩阵L
10、U=triu(A)-D; %求矩阵Utemp=1;x=zeros(m,1);k=0;while abs(max(x)-temp)eps temp=max(abs(x); k=k+1; %记录循环次数 x=-inv(D)*(L+U)*x+inv(D)*b; %雅克比迭代公式end for k=1:n fprintf(x%d=%fn,k,x(k);end2.2.4 Gauss-Seidel迭代程序function Gauss_Seidel(A,b,eps) %A为系数矩阵,b为后端项矩阵,epe为精度m,n=size(A);D=diag(diag(A); %求矩阵DL=D-tril(A); %求矩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 LU 解法 列主元高斯法 Jacobi 迭代法 Gauss Seidel 原理 Matlab 程序
![提示](https://www.deliwenku.com/images/bang_tan.gif)
链接地址:https://www.deliwenku.com/p-33778093.html
限制150内