求解线性方程组的迭代法c语言,迭代法求解线性方程组的研究.doc

PAGE

PAGE 10

迭代法求解线性方程组的研究

【摘要】:本文总结了解线性方程组的三个迭代法,Jacobi迭代法,Gauss-seidel迭代法,SOR迭代法,并且介绍了现代数值计算软件MATLAB在这方面的应用,即分别给出三个迭代法的数值实验。

【关键字】:Jacobi迭代法 Gauss-seidel迭代法 SOR迭代法 数值实验

引言

迭代法是用某种极限过程去逐步逼近线性方程组精确解的方法,它是解高阶稀疏方程组的重要方法。

迭代法的基本思想是用逐次逼近的方法求解线性方程组。

设有方程组

…①

将其转化为等价的,便于迭代的形式

…②

(这种转化总能实现,如令),

并由此构造迭代公式

…③

式中B称为迭代矩阵,f称为迭代向量。对任意的初始向量,由式③可求得向量序列,若,则就是方程①或方程②的解。此时迭代公式②是收敛的,否则称为发散的。构造的迭代公式③是否收敛,取决于迭代矩阵B的性质。

本文介绍三种解线性方程组的最主要的三种迭代法:Jacobi迭代法,Gauss-Seidel迭代法和SOR迭代法。本文结构如下:第二部分介绍Jacobi迭代法及其数值实验,第三部分介绍Gauss-Seidel迭代法及其数值实验,第四部分介绍SOR迭代法及其数值实验,第五部分总结。

雅克比(Jacobi)迭代法

雅克比迭代法的格式

设有方程组

…①

矩阵形式为,设系数矩阵A为非奇异矩阵,且

从式①中第i个方程中解出x,得其等价形式

…②

取初始向量,对式②应用迭代法,可建立相应的迭代公式:

…③

也可记为矩阵形式:

…④

若将系数矩阵A分解为A=D-L-U,式中

则方程Ax=b变为

于是

于是式中④中的 。

式③和式④分别称为雅克比迭代法的分量形式和矩阵形式,分量形式用于编程计算,矩阵型式用于讨论迭代法的收敛性。

雅克比迭代法的程序

雅克比迭代法的MATLAB函数文件 agui_jacobi.m如下。

Function x= agui_jacobi(a,b)

%a为系数矩阵,b为右端向量,为初始向量(默认为零向量)

%e为精度(默认为1e-6),n为最大迭代次数(默认为100)

x为返回解向量。

n=length(b);

N=100;

e=1e-6;

x0=zeros(n,1);

x=x0;

x0=x+2*e;

k=0;

d=diag(diag,0);

1=-tril(a,-1);

u=-triu(a,1);

while norm(x0-x,inf)>e&k

k=k+1;

x0=x;

x=inv(d)*(l+u)*x+inv(d)*b;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值