• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

雅克比迭代法介绍以及matlab代码实现-线性方程组求解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1).前沿   

 谈到雅克比迭代法,首先就谈下迭代法的基本原理

     设线性方程组

                                      Ax = b

 系数矩阵A为n阶非奇异矩阵(|A|≠0,且右端常数项向量b≠0,则将上式改写为

                                    x = Bx +f

采用迭代的思想:    x^{k+1} = B*x^{k+1} +f   k=0,1,2...,n

其基本思想是将A拆分成如下

                                       A = M-N

此时 B=M^(-1)*N = M^(-1) = I - M^(-1)*A   ,f = M^(-1)*b .(注:I 是单位矩阵)

          X^(K+1) = I -  M^(-1)*A + M^(-1)*b 

2).雅克比迭代法

     就上拆分的思想,将n阶线性方程组  Ax =b拆分成(A = (aij)nxn ,且aij≠0)

                                     A = D + L +U                

其中

    ,,

则根据aij≠0,则D^(-1) 存在,则将线性方程组 AX=B 改为

                                               x=-D^(-1)*(L+U)*x + D^(-1)*b

由此得到迭代公式

                                              x^(k+1)=-D^(-1)*(L+U)*x^(k+1) + D^(-1)*b

证明:标注为粉红的公式

                               由 Ax = b ,将A=D+L+U代如得,

                                (D+L+U)x = b

                                  Dx+(L+U)x = b

                                  Dx = -(L+U)x + b

                                  x = D^(-1)*(L+U)*x + D^(-1)*b   

证毕。

 

将   x=-D^(-1)*(L+U)*x + D^(-1)*b 展开

 

 

...

最终结果为:

                         

 

3).Matlab 雅克比迭代程序

具体程序如下所示:

clear; 
A=input(\'请输入线性方程组的系数矩阵:\'); 
b=input(\'请输入线性方程组的常向量:\'); 
x1=input(\'请输入解向量的初始值:\'); 
n=numel(b); 
 
e_max=1e6;       %%前一次和后一次之差
while e_max>=1e-6 
    e_max=0; 
    for i=1:n 
        s=0;           %%初始化变量
        for j=1:n 
            if j~=i 

                s=s+A(i,j)*x1(j); 
            end 
        end 
        x2(i) = (b(i)-s)/A(i,i); 
        e = abs(x2(i)-x1(i));     
        if e > e_max  
            e_max = e; 
        end 
    end 
    x1=x2      %%不带分号,观察每步迭代结果 
end 

 

测试矩阵

A = [10 -1 -2;-1 10 -2;-1 -1 5];

b= [72 83 42];

迭代初值x(0) =  [0 0 0];

调试结果

 

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi在系统菜单中添加菜单项发布时间:2022-07-18
下一篇:
delphi dbgrid 修改、更新、删除发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap