研究生数值分析(11)---雅可比(Jacobi)迭代法

合集下载

雅克比迭代算法(JacobiIterativeMethods)--[mpi,c++]

雅克比迭代算法(JacobiIterativeMethods)--[mpi,c++]

雅克⽐迭代算法(JacobiIterativeMethods)--[mpi,c++]雅克⽐迭代,⼀般⽤来对线性⽅程组,进⾏求解。

形如:a11∗x1+a12∗x2+a13∗x3=b1 a21∗x1+a22∗x2+a23∗x3=b2 a31∗x1+a32∗x2+a33∗x3=b3 我们需要求解出x1 ,x2 ,x3,我们对这组⽅程进⾏变换:x1=1a11(b1−a12∗x2−a13∗x3) x2=1a21(b2−a21∗x1−a23∗x3)x3=1a31(b3−a31∗x1−a32∗x2)我们不妨假设x00=(X01,X02,X03) ,当我们代⼊上述公式的时候,我们就会得到⼀组新的x1=(X11,X12,X13) ,此刻我们称之为⼀次迭代.然后我们将得到的X1,X2,X3再次代⼊公式,我们将会得到第⼆次迭代, 当我们重复这种迭代的时候,我们会得到第K次迭代:x k=(X k1,X k2,X k3) , k=1,2,3...n我们将其归纳成⼀般式⼦:eg: 对于⽅程组:求解:我们先将其变形:然后,我们假设:并将其代⼊得到:我们将得到的X1,x2,x3再次代⼊⽅程中,反复迭代,将会得到如下:最终我们将会得到⼀个收敛值,该组值,就是我们得到的解(会⾮常的逼近真实解)那么这种⽅法,也可以⽤来求解矩阵:对于⽅程: Ax =b ; 我们设定 A矩阵为: ,b矩阵为:, x矩阵为:到这⾥,每个⼈都有⾃⼰的解法,直接的解法是将 x = A−1b,但是A的逆矩阵A−1,计算较为复杂,我们这⾥需要⼀点⼩的tricks ,我们将A矩阵拆分成为⼀个对⾓矩阵D,下三⾓矩阵L,上三⾓矩阵U,即这样的话,公式 Ax = b 就变成了 ( D - L -U )x = b ,然后我们就可以得到:D x = b + (L+U)x ,当我们得到这个公式的时候,求解D的逆矩阵就容易了很多,我们得到D的逆矩阵为:然后,我们将D移到右边变成:这个公式,和我们上⾯描述的雅克⽐迭代是不是长得很像,然后我们可以将其⼀般化为:我们知道A是⼀个已知的常量矩阵,因⽽D,L,U都是已知矩阵,那么我们可以简化为:T=D−1∗(L+U) , c=D−1∗b ;根据这⼀个思想,我们可以得到⼀个伪代码:实现代码为:参考资料为:Processing math: 100%。

雅可比迭代公式

雅可比迭代公式

雅可比迭代公式雅可比迭代公式是一种在数值分析中用于求解线性方程组的迭代方法。

咱先来说说这个雅可比迭代公式到底是啥。

比如说,咱有一个线性方程组,像这样:\[\begin{cases}3x - y + z = 7 \\x + 2y - z = 1 \\x - y + 3z = 3\end{cases}\]雅可比迭代公式就是通过一次次的计算来逐渐逼近这个方程组的解。

咱们把这个方程组改写成下面这样:\[\begin{cases}x = \frac{1}{3}(7 + y - z) \\y = \frac{1}{2}(1 - x + z) \\z = \frac{1}{3}(3 - x + y)\end{cases}\]然后,咱就可以开始迭代啦。

先随便给 x、y、z 赋个初值,比如说都设成 0 。

第一次迭代,把初值代入上面的式子算新的值。

就这么一次次算下去,慢慢地,x、y、z 的值就会越来越接近真正的解。

我记得之前给学生们讲这个雅可比迭代公式的时候,有个学生特别有意思。

那是个挺机灵的小男孩,叫小明。

刚开始讲的时候,他一脸迷茫,完全没听懂。

我就给他举了个买糖果的例子。

假设小明有一笔零花钱,准备去买三种糖果,巧克力、水果糖和牛奶糖。

巧克力糖3 块钱一颗,水果糖2 块钱一颗,牛奶糖3 块钱一颗。

小明一共只有 11 块钱,而且他有个想法,就是买的巧克力糖的数量是水果糖和牛奶糖数量总和的三分之一,水果糖的数量是巧克力糖和牛奶糖数量总和的二分之一,牛奶糖的数量是巧克力糖和水果糖数量总和的三分之一。

这时候,咱们不知道每种糖到底买多少颗,那就先随便猜个数。

比如说,先猜巧克力糖买 0 颗,水果糖买 0 颗,牛奶糖也买 0 颗。

然后按照前面说的关系来调整。

第一次调整,算出来巧克力糖应该买 11/3 颗,水果糖应该买 11/4 颗,牛奶糖应该买 11/9 颗。

当然啦,糖可不能买零点几颗,这只是个计算过程。

就这么一次次调整,最后就能算出比较接近真实情况的答案啦。

雅可比迭代法和高斯塞德尔迭代法对比

雅可比迭代法和高斯塞德尔迭代法对比

雅可比迭代法和高斯塞德尔迭代法对比引言雅可比迭代法和高斯塞德尔迭代法是数值分析中常用的迭代求解线性方程组的方法。

它们都是通过迭代更新变量的值,逐渐逼近方程组的真实解。

本文将详细讨论这两种迭代法的原理、特点和适用情况,并给出一些比较和应用实例。

雅可比迭代法(Jacobi Iteration)雅可比迭代法是一种逐个更新变量的值的迭代方法。

对于线性方程组Ax = b,雅可比迭代法的更新公式如下:x i(k+1)=1a ii(b i−∑a ijnj=1j≠ix j(k))其中,aii表示系数矩阵A的第i行第i列的元素,而bi表示方程组的第i个方程的右侧常数。

特点1.雅可比迭代法的计算过程简单,容易理解和实现。

2.每次迭代只更新一个变量的值,相邻两次迭代之间没有数据依赖关系,可以并行计算。

3.雅可比迭代法收敛的条件是系数矩阵A满足严格对角占优条件或对称正定条件。

优缺点•优点:简单易懂,在一些特定情况下收敛速度较快。

•缺点:收敛速度相对较慢,尤其是在系数矩阵A的条件数较大时;不适用于对角占优条件较弱的问题。

高斯塞德尔迭代法(Gauss-Seidel Iteration)高斯塞德尔迭代法是一种逐个更新变量的值,并立即使用最新的值进行下一个变量的更新的迭代方法。

对于线性方程组Ax = b,高斯塞德尔迭代法的更新公式如下:x i(k+1)=1a ii(b i−∑a iji−1j=1x j(k+1)−∑a ijnj=i+1x j(k))特点1.高斯塞德尔迭代法相较于雅可比迭代法,每次迭代可以使用当前迭代步骤中已更新的变量值,因此收敛速度更快。

2.如果系数矩阵A是严格对角占优或对称正定的,高斯塞德尔迭代法一定收敛。

优缺点•优点:相较于雅可比迭代法,收敛速度更快,对于条件数较大的问题也有较好的效果。

•缺点:实现稍微复杂一些,每次迭代的计算依赖于之前已更新的变量值,无法并行计算。

雅可比迭代法和高斯塞德尔迭代法的比较收敛速度在一些特定的问题中,雅可比迭代法可以比高斯塞德尔迭代法更快地收敛。

数值分析迭代法数值分析实验报告jacobi迭代和seidel迭代分析

数值分析迭代法数值分析实验报告jacobi迭代和seidel迭代分析

数值分析迭代法数值分析实验报告 jacobi迭代和seidel迭代分析导读:就爱阅读网友为您分享以下“数值分析实验报告jacobi迭代和seidel迭代分析”资讯,希望对您有所帮助,感谢您对的支持!数值分析实验报告一、实验目的1、了解熟悉jacobi迭代法和seidel迭代法的解法2、将原理与matlab语言结合起来,编程解决问题3、分析实验结果二、实验题目设线性方程组为2 2 31 201 31 x1 1 7 x801240 2 x 103 10 15 x 1 4考察用jacobi迭代法和seidel迭代法求解该线性方程组的收敛情况。

如果收敛,给出误差满足x(k) x(k 1)10 4的解。

三、实验原理将A 作如下分解A D L U这里a11D a22 0 a ,L 21 anna n100 a n2 0 0 a12 a1n 0 0 0 a2n ,0 00 0 JacobiU迭代矩阵为BJ D 1(L U)Seidel迭代矩阵为BS (D L) 1U它们的迭代格式都可化为x(k 1) Bx(k) g则迭代格式对任何初值都瘦脸的充要条件是迭代矩阵谱半径 (B) max k 1,其中, k是矩阵B的n个特征值,k 1,2 ,n 1 k nJacobi迭代矩阵的特征方程为det( I B J) 0Seidel迭代矩阵的特征方程为det( I B S) det( (D L) U) 0四、实验内容用matlab编写计算jacobi迭代矩程序,建立m文件如下:function[M]=BJ(A)D=diag(diag(A));L=tril(-A)+D;U=triu(-A)+D;M=inv(D)*(L+U);输入:>> A=[20 1 -3 -1;3 18 0 7;-1 2 40 -2;1 0 -1 5];>> [M]=BJ(A)M:M =0 -0.0500 0.1500 0.0500-0.1667 0 0 -0.38890.0250 -0.0500 0 0.0500-0.2000 0 0.2000 00 0.050.150.05 0.166700 0.3889 则jacobi迭代矩阵为:BJ 0.025 0.0500.05 0.2 00.20用matlab求jacobi迭代矩阵的特征根的算法如下:>> A=[0 -0.05 0.15 -0.05;-0.67 0 0 -0.39;0.025 -0.05 0 0.05;-0.2 0 0.2 0];[V,D]=eig(A)V =-0.1892 + 0.0450i -0.1892 - 0.0450i -0.3812 -0.5005-0.9467 -0.9467 0.8867 0.5461 -0.1528 - 0.1181i -0.1528 + 0.1181i -0.2099 -0.0466 -0.1056 + 0.1325i -0.1056 - 0.1325i 0.1561 0.6701D =-0.1774 + 0.0864i 0 0 0 0 -0.1774 - 0.0864i 0 0 0 0 0.2194 0 0 0 0 0.1355 则最大特征根为:0.2194 则(BJ) 0.2194 1,所以jacobi迭代法收敛用matlab编程jacobi迭代法求根的算法:function [n,x]=jacobi(A,b,X,nm,w)%用雅克比迭代法求解方程组Ax=b%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w 为误差精度%输出:x为求得的方程组的解构成的列向量,n为迭代次数n=1;m=length(A);D=diag(diag(A)); %令A=D-L-U,计算矩阵DL=tril(-A)+D; %令A=D-L-U,计算矩阵LU=triu(-A)+D; %令A=D-L-U,计算矩阵UM=inv(D)*(L+U); %计算迭代矩阵g=inv(D)*b; %计算迭代格式中的常数项%下面是迭代过程while n<=nmx=M*X+g; %用迭代格式进行迭代if norm(x-X,2)<wdisp(…迭代次数为‟);ndisp(…方程组的解为‟);xreturn;%上面:达到精度要求就结束程序,输出迭代次数和方程组的解endX=x;n=n+1;end%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)disp(…在最大迭代次数内不收敛!‟);输入数据:>> A=[20 1 -3 -1;3 18 0 7;-1 2 40 -2;1 0 -1 5];b=[1;2;10;-1];X=[0;0;0;0];>> nm=100;>> w=1e-4;>> [n,x]=jacobi1(A,b,X,nm,w)迭代次数为n =6方程组的解为x =0.06870.16450.2352-0.1667n =6x =0.06870.16450.2352-0.1667所以,满足精度的根为x = 0.0687 0.1645 0.2352用matlab编程计算seidel迭代矩阵算法为:function[M]=BS(A)D=diag(diag(A));L=tril(-A)+D;U=triu(-A)+D;M=inv(D-L)*U;输入:>> A=[20 1 -3 -1;3 18 0 7;-1 2 40 -2;1 0 -1 5]; >> [M]=BS(A)M =0 -0.0500 0.1500 0.0500 0 0.0083 -0.0250 -0.3972 -0.1667 迭代次数为6次0 -0.0017 0.0050 0.07110 0.0097 -0.0290 0.0042则seidel迭代矩阵为:0.150.05 0 0.05 00.0083 0.025 0.3972BS 0 0.00170.0050.0711 00.0097 0.0290.0042用matlab编程求得seidel矩阵的算法为:>> A=[0 -0.05 0.15 0.05;0 0.0083 -0.025 -0.3972;0 -0.0017 0.005 0.0711;0 0.0097 -0.029 0.0042];[V,D]=eig(A)V =1.0000 -0.1596 + 0.6750i -0.1596 - 0.6750i -0.91040 0.6965 0.6965 0.3924 0 -0.1250 + 0.0028i -0.1250 - 0.0028i 0.1313 0 0.0070 - 0.1348i 0.0070 + 0.1348i 0.0000D =0 0 0 0 0 0.0088 + 0.0768i 0 0 0 0 0.0088 - 0.0768i 0 0 0 0 -0.0001则特征根为 0 0.008+0.0768i 0.0088-0.0768i-0.0001则 (BS) 0.08 1,所以seidel迭代法收敛用seidel迭代法求根的算法为:function [n,x]=gaussseidel(A,b,X,nm,w)%用高斯-赛德尔迭代法求解方程组Ax=b%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w 为误差精度%输出:x为求得的方程组的解构成的列向量,n为迭代次数n=1;m=length(A);I=eye(m); %生成m*m阶的单位矩阵D=diag(diag(A)); %令A=D-L-U,计算矩阵DL=tril(-A)+D; %令A=D-L-U,计算矩阵LU=triu(-A)+D; %令A=D-L-U,计算矩阵U M=inv(D-L)*U; %计算迭代矩阵g=inv(I-inv(D)*L)*(inv(D)*b); %计算迭代格式中的常数项%下面是迭代过程while n<=nmx=M*X+g; %用迭代格式进行迭代if norm(x-X,2)<wdisp(…迭代次数为‟);ndisp(…方程组的解为‟);xreturn;%上面:达到精度要求就结束程序,输出迭代次数和方程组的解endX=x;n=n+1;end%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)disp(…在最大迭代次数内不收敛!‟);disp(…最大迭代次数后的结果为‟);x输入数据:>> A=[20 1 -3 -1;3 18 0 7;-1 2 40 -2;1 0 -1 5];b=[1;2;10;-1];X=[0;0;0;0];nm=100;w=1e-4;[n,x]=gaussseidel(A,b,X,nm,w) 迭代次数为n =5方程组的解为x =0.06870.16450.2352-0.1667n =5x =0.06870.16450.2352-0.166满足精度的根为x =0.0687 0.1645 0.2352 -0.1667 迭代次数为5次五、实验分析从实验过程可以看到求出满足精度的根,seidel迭代要比jacobi迭代快,这是因为在jacobi迭代计算中,计算向量x(k 1)时是按分量的角标由小到大依次计算的。

雅可比迭代法原理

雅可比迭代法原理

雅可比迭代法原理雅可比迭代法(Jacobi Iteration Method)是一种用于线性方程组迭代求解的方法。

它广泛应用于数值计算和科学工程领域,特别在计算机模拟和科学计算中得到了广泛应用。

雅可比迭代法通过将线性方程组表达为矩阵形式,并不断迭代更新估计解向量,最终求得线性方程组的精确解或者近似解。

设有一个n阶方程组表达为Ax=b,其中A是一个n×n的系数矩阵,x是一个n维向量,b是一个n维向量。

雅可比迭代法的思想是通过迭代过程逐步逼近方程组的解。

首先,我们将方程组转化为x的显式表达式。

假设矩阵A对角线上的元素都不为0(这是雅可比迭代法的一个限制条件),方程组的第i个方程可以表达为:xi = (bi - Σaijxj) / aii其中,a_ij表示A的第i行第j列的元素。

然后,我们假定一个初始解向量x^(0)。

迭代过程则是通过反复使用上述方程表达式,不断更新解向量x,直到收敛到一个满足精度要求的近似解。

雅可比迭代法的公式表达为:x^(k+1)_i = (bi - Σa_ijx^k_j) / a_ii其中,k表示迭代过程的次数,k+1表示迭代的下一步。

雅可比迭代法的收敛原理是基于对角元素主支配性的分析。

如果A的对角元素主支配于其它元素,即对于每个i,都有,a_ii,> Σ,a_ij,(i ≠j),那么雅可比迭代法是收敛的。

在实际应用中,我们通常会通过编写程序或者使用现有的数值计算软件来求解方程组,并进行相应的误差分析。

雅可比迭代法的优点之一是简单易实现,容易理解。

它不需要对矩阵进行变换,只需要进行一系列的矩阵乘法和向量加法操作,因此它的计算量相对较小。

此外,雅可比迭代法还能有效解决病态问题,即系数矩阵A 的条件数很大的情况。

然而,雅可比迭代法也有一些缺点。

首先,它的收敛速度相对较慢,特别是对于条件数很大的矩阵。

其次,迭代过程必须保证A的对角元素都不为0,否则无法进行迭代。

并且,迭代的停止条件需要合适地选择,不然可能陷入无限循环。

利用雅可比(Jocabi)迭代法解线性方程组

利用雅可比(Jocabi)迭代法解线性方程组
Console.Read();
}
}
}
{
Console.WriteLine("请输入系数矩阵的维数:");
n=int.Parse(Console.ReadLine());
Value=newDouble[2,n];
Parameters=newdouble[n,n];
MatrixB=newdouble[n];
for(inti=0;i<n;i++)
利用雅可比(Jocabi)迭代法解线性方程组
///<summary>
///利用雅可比(Jocabi)迭代法解线性方程组
///<summary>
usingSystem;
namespaceInteretive
{
///<summary>
///Jacobi的摘要说明。
///</summary>
classJacobi
privateboolIsConvergence()
{
for(inti=0;i<n;i++)
{
for(intj=0;j<n;j++)
{
if(Parameters[i,i]<=Parameters[i,j])
{
returnfalse;
}
}
}
returntrue;
}
///<summary>
///输入初值
///计算Jacobi迭代结果
///</summary>
///<returns></returns>
privatevoidcalculate()

研究生数值分析练习题答案

研究生数值分析练习题答案

------------------------------------------------ 装 ---------------------------------订 ---------------------------------线 ------------------------------------------------装 订 线 左 侧 不 要 书 写 内 容允许使用计算器一、 填空题 (本大题共10小题,每小题 2分,共 20分)1. 若2.71828x e == ,取近似值* 2.7180x =,则*x 具有 4 位有效数字。

2.为了提高数值计算精度,应将8格式进行计算。

3.已知n=3时牛顿—柯特斯系数(3)(3)(3)012133,,888C C C ===,那么(3)3C =18 。

4.设3()1f x x x =+-,则函数的四阶差商[0,1,2,3,4]f = 0 。

5. 用牛顿迭代法解方程0x x e --=在0.5x =附近的近似实根的牛顿迭代格式为)1,0(e 1e )()(1=+--='-=--+n x x x f x f x x nnx x n n n n n n6. 对给定的剖分01:n a x x x b ∆=<<<= ,当()s x 满足条件 ()s x 在[a,b]有2阶连续导数且在每个子区间上是个3次多项式 时是三次样条函数。

7.用最小二乘法拟合三点()()()0,1,1,3,2,2A B C 的直线是1322y x =+。

8.向量序列()211cos ,sin ,3Tk k x e k k k k -⎛⎫=+ ⎪⎝⎭ 的极限向量为()0,1,3T9.求积公式 10311()()(1)434f x dx f f ≈+⎰的代数精度为 2 。

10.若绝对误差限为31102-⨯,那么近似数0.03600有 2 位有效数字二、单项选择题(本大题共5小题,每小题 2 分,共 10分)1. 已知实验数据555521111(,)(1,2,3,4,5),15,31,55,105.5,k k k k kk k k k k k x y k x y x x y =========∑∑∑∑其中则用最小二乘法求近似公式01y a a x =+的法方程为( C )A 0101153155105.5a a a a +=⎧⎨+=⎩B 0101515551531105.5a a a a +=⎧⎨+=⎩C 0101515311555105.5a a a a +=⎧⎨+=⎩ D0101531153155105.5a a a a +=⎧⎨+=⎩ 2. 以下矩阵是严格对角占优矩阵的是( B )A 3210141011410012⎛⎫ ⎪ ⎪ ⎪⎪⎝⎭ B 2100131013610113-⎛⎫⎪--⎪ ⎪-- ⎪-⎝⎭C 5210113121410012-⎛⎫⎪--⎪ ⎪⎪⎝⎭D 4211141021411315⎛⎫⎪ ⎪⎪- ⎪⎝⎭3.已知两种递推公式11(1)35(1,2,,20)31(2)(20,,1)55n n n n I nI n I I n n n--=-==-= 则在数值计算过程中( C )。

雅克比迭代法python

雅克比迭代法python

雅克比迭代法python
-Jacobi迭代法是一种数值计算技术,用于求解非线性系统的迭代方法。

它将
非线性系统拆解为若干个独立的一维或二维子系统,利用迭代过程不断迭代地改进参数,最终收敛到满足约束条件的最优解。

Jacobi迭代法有利于在非线性系统中有效求解问题,它具有以下特点:
1、计算简单:Jacobi迭代法只需要计算每次迭代的细节,不需要求解任何解析表
达式,这种迭代方法可以有效地减少计算量和计算时间;
2、易编译:Jacobi迭代法只需要将等式离散化,然后对每组等式进行迭代,在程
序上比较容易编译;
3、稳定性好:Jacobi迭代法能够很快地收敛到最优解。

因此,Jacobi迭代法在不断优化的求解参数的过程中,以及优化非线性系统
的运算效率上,都具有较高的效率和准确度。

它的优势在于计算简单性和高效的稳定性,可以有效地提升计算效率,作为从大规模非线性系统中求解问题的一种技术,它在机器学习、信号处理、图像处理、线性系统控制、建模和函数优化等诸多领域都得到了广泛应用,受到学术界和实际应用界的高度重视。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)
a x (k) n,n1 n1
bn )
取初始向量
X
(0)
(
x (0) 1
,
x (0) 2
,
,
x (0) n
)T
利用(4)反复迭代可以得到一个向量序列 {X (k)}
称式(4)为雅可比迭Jacobi代公式。
若记
a11
D
a22
0
a21 0
0 a12
0
L a31
a32
0
U
特征方程 I D1(L U ) 0
又可以写成 D1 D L U 0 因为 D1 0 ,所以 D L U 0 上式左端为将系数矩阵 A 的对角元同乘以 λ 后所得新矩阵的行列式。
例8 用雅可比迭代法求解方程组
10x1 2x2 x3 3 2x1 10x2 x3 15 x1 2x2 5x3 10
由迭代矩阵的特征方程
10 2 1 2 10 1 0 1 2 5
展开得到
(10 2)(50 2 10 3) 0
解得
1
1 5
, 2
1 10
7
, 3
1 10
7
于是 (J ) 1 7 0.3646 1
10
因而雅可比迭代公式是收敛的。
练习:考察用雅可比Jacobi迭代法解方程组 AX=b的收敛性,
解:相应的雅可比迭代公式为
x1(
k
1)
1 10
(2x2(k )
x (k) 3
3)
x2(k
1)
1 10
(2
x1(
k
)
x (k) 3
15)
x3(k
1)
1 5
(
x1(
k
)
2x2(k )
10)
取初值
x (0) 1
x (0) 2
x (0) 3

,按迭代公式进行迭代,
得计算结果
k x (k) 1
x (k) 2
ann
an1 an2
an1 0
a1n
a2n
an1,n
0
则 AX=b 的系数矩阵 为A=D-L-U , 雅可比迭代公 式的矩阵表示形式为
X (k1) D1(L U ) X (k) D1b 其中 D1(L U ) 称为雅可比迭代矩阵。
记为 BJ D1(L U )
我们用定理2来判断雅可比迭代公式是否收敛 需要考虑雅可比迭代矩阵 D1(L U )
4 0.9716 1.9700 2.9540 9 0.9998 1.9998 2.9998
原方程组的准确解为 x1 1, x2 2, x3 3
可以看出,当迭代次数增加时,迭代结果 越来越接近准确解.
因此,
x (9) 1
0.9998, x2(9)
1.9998, x3(9)
2.9998
可以作为原方程组的近似解。
an,n1xn1 bn )
获得相应的迭代公式
x1(k
1)
1 a11
(a12 x2(k )
a13 x3(k )
x2 ( k
1)
1 a22
(a21x1(k )
a23 x3(k )
xn(
k
1)
1 ann
(an1x1(k )
an2 x2(k )
a1n xn(k ) b1)
a2n xn(k ) b2 )
1、雅可比(Jacobi)迭代法
由方程组 AX=b 的第 i 个方程解出 xi (i 1, 2, , n) 得到一个同解方程组
x1
1 a11
(a12 x2
a13 x3
x2
1 a22
(a21x1
a23x3
xn
1 an1
(an1x1
an2 x2
a1n xn b1) a2n xn b2 )
x (k) 3
k
x (k) 1
x (k) 2
x (k) 3
00
0
0
5 0.9894 1.9897 2.9823
1 0.3000 1.5000 2.0000 6 0.9963 1.9961 2.9938
2 0.8000 1.7600 2.6600 7 0.9986 1.9986 2.9977
3 0.9180 1.9260 2.8640 8 0.9995 1.9995 2.9992
其中 1 0 1
A 1 1
0
1 2 3
相关文档
最新文档