解线性方程组的迭代法 (2)讲稿.ppt
《解线性方程组的迭代法 (2)讲稿.ppt》由会员分享,可在线阅读,更多相关《解线性方程组的迭代法 (2)讲稿.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于解线性方程组的迭代法(2)第一页,讲稿共三十四页哦内容提要内容提要n n引言引言n n简单迭代法简单迭代法n n赛得尔迭代法赛得尔迭代法n n迭代解法的收敛性迭代解法的收敛性 n nMATLAB的线性方程组求解函数的线性方程组求解函数2n n小结小结第二页,讲稿共三十四页哦 根据给定方程组,设计出一个迭代公式,构造一数组的序根据给定方程组,设计出一个迭代公式,构造一数组的序根据给定方程组,设计出一个迭代公式,构造一数组的序根据给定方程组,设计出一个迭代公式,构造一数组的序列列列列 ,代入迭代公式,计算出,代入迭代公式,计算出,代入迭代公式,计算出,代入迭代公式,计算出 ,再代入迭代公式,经
2、过,再代入迭代公式,经过,再代入迭代公式,经过,再代入迭代公式,经过k k次迭代运算后得到次迭代运算后得到次迭代运算后得到次迭代运算后得到 ,若,若,若,若 收敛于某一极限数组收敛于某一极限数组收敛于某一极限数组收敛于某一极限数组x xi i,则,则,则,则x xi i就是方程组的近似解。就是方程组的近似解。就是方程组的近似解。就是方程组的近似解。迭代过程本质上就是计算极限的过程,一般不能得到精确迭代过程本质上就是计算极限的过程,一般不能得到精确迭代过程本质上就是计算极限的过程,一般不能得到精确迭代过程本质上就是计算极限的过程,一般不能得到精确解。解。解。解。迭代法的优点是程序简单,适合于大型
3、方程组求解,迭代法的优点是程序简单,适合于大型方程组求解,迭代法的优点是程序简单,适合于大型方程组求解,迭代法的优点是程序简单,适合于大型方程组求解,但缺点是要判断迭代是否收敛和收敛速度问题。但缺点是要判断迭代是否收敛和收敛速度问题。但缺点是要判断迭代是否收敛和收敛速度问题。但缺点是要判断迭代是否收敛和收敛速度问题。1.1.雅可比雅可比雅可比雅可比(Jacobi(1804-1851)(Jacobi(1804-1851)迭代法(简单迭代法)迭代法(简单迭代法)迭代法(简单迭代法)迭代法(简单迭代法)2.2.赛得尔赛得尔赛得尔赛得尔 (Seidel(Seidel(1821-1896)(1821-1
4、896)迭代法迭代法迭代法迭代法迭代解法的基本思想迭代解法的基本思想迭代解法的基本思想迭代解法的基本思想1 1、引言、引言、引言、引言第三页,讲稿共三十四页哦设线性代数方程组为设线性代数方程组为设线性代数方程组为设线性代数方程组为2 2、简单迭代法、简单迭代法、简单迭代法、简单迭代法展开为展开为展开为展开为第四页,讲稿共三十四页哦若对角元素若对角元素若对角元素若对角元素逐一变量分离得方程组逐一变量分离得方程组逐一变量分离得方程组逐一变量分离得方程组第五页,讲稿共三十四页哦即即即即此即为迭代公式此即为迭代公式此即为迭代公式此即为迭代公式简单迭代解法的过程如下:简单迭代解法的过程如下:1 1 设定
5、一组初值设定一组初值设定一组初值设定一组初值2 2 第一次迭代:第一次迭代:第一次迭代:第一次迭代:得到得到得到得到第六页,讲稿共三十四页哦3 3 第二次迭代:第二次迭代:第二次迭代:第二次迭代:得到得到得到得到4 4 同样做法,得到第同样做法,得到第同样做法,得到第同样做法,得到第k+1k+1次迭代:次迭代:次迭代:次迭代:第七页,讲稿共三十四页哦迭代次数迭代次数迭代次数迭代次数k k k k的取值与精度要求有关,按下式判断:的取值与精度要求有关,按下式判断:的取值与精度要求有关,按下式判断:的取值与精度要求有关,按下式判断:若满足则停止迭代若满足则停止迭代若满足则停止迭代若满足则停止迭代为
6、了便于编程,为了便于编程,为了便于编程,为了便于编程,迭代公式可改写为:迭代公式可改写为:迭代公式可改写为:迭代公式可改写为:第八页,讲稿共三十四页哦function x,iter,exitflag=Jacobi_iter(A,b,x0,eps,iter_max)function x,iter,exitflag=Jacobi_iter(A,b,x0,eps,iter_max)%线性方程组的线性方程组的JacobiJacobi迭代求解迭代求解(向量形式向量形式)%输入参数:输入参数:%-A%-A:线性方程组的系数矩阵:线性方程组的系数矩阵%-b%-b:线性方程组的右端项:线性方程组的右端项%-x
7、0%-x0:初始向量,默认值为零向量:初始向量,默认值为零向量%-eps%-eps:精度要求,默认值为:精度要求,默认值为1e-61e-6%-iter_max%-iter_max:最大迭代次数,默认值为:最大迭代次数,默认值为100100%输出参数:输出参数:%-x%-x:线性方程组的近似解:线性方程组的近似解%-iter%-iter:迭代次数:迭代次数%-exitflag%-exitflag:迭代成功与否的标志:迭代成功与否的标志:exitflag=1exitflag=1表示迭代成功表示迭代成功%exitflag=0%exitflag=0表示迭代失败表示迭代失败n=length(b);n=l
8、ength(b);if nargin5|isempty(iter_max);iter_max=100;endif nargin5|isempty(iter_max);iter_max=100;endif nargin4|isempty(eps);eps=1e-6;endif nargin4|isempty(eps);eps=1e-6;endif nargin3|isempty(x0);x0=zeros(n,1);endif nargin3|isempty(x0);x0=zeros(n,1);enditer=0;exitflag=1;iter=0;exitflag=1;D=diag(diag(A
9、);L=tril(A,-1);U=triu(A,1);D=diag(diag(A);L=tril(A,-1);U=triu(A,1);J=-inv(D)*(L+U);f=inv(D)*b;J=-inv(D)*(L+U);f=inv(D)*b;while iteriter_maxwhile iteriter_max x=J*x0+f;x=J*x0+f;if norm(x-x0,inf)eps if norm(x-x0,inf)eps break break end end x0=x;iter=iter+1;x0=x;iter=iter+1;endendif iter=iter_maxif ite
10、r=iter_max exitflag=0;exitflag=0;endend第九页,讲稿共三十四页哦function x,iter,exitflag=Jacobi_iteration(A,b,x0,eps,iter_max)function x,iter,exitflag=Jacobi_iteration(A,b,x0,eps,iter_max)%线性方程组的线性方程组的JacobiJacobi迭代求解迭代求解(分量形式分量形式)%输入参数:输入参数:%-A%-A:线性方程组的系数矩阵:线性方程组的系数矩阵%-b%-b:线性方程组的右端项:线性方程组的右端项%-x0%-x0:初始向量,默认值
11、为零向量:初始向量,默认值为零向量%-eps%-eps:精度要求,默认值为:精度要求,默认值为1e-61e-6%-iter_max%-iter_max:最大迭代次数,默认值为:最大迭代次数,默认值为100100%输出参数:输出参数:%-x%-x:线性方程组的近似解:线性方程组的近似解%-iter%-iter:迭代次数:迭代次数%-exitflag%-exitflag:迭代成功与否的标志:迭代成功与否的标志:exitflag=1exitflag=1表示迭代成功表示迭代成功%exitflag=0%exitflag=0表示迭代失败表示迭代失败n=length(b);n=length(b);if na
12、rgin5;iter_max=100;endif nargin5;iter_max=100;endif nargin4;eps=1e-6;endif nargin4;eps=1e-6;endif nargin3;x0=zeros(n,1);endif nargin3;x0=zeros(n,1);endx=zeros(n,1);iter=0;exitflag=1;x=zeros(n,1);iter=0;exitflag=1;while iteriter_maxwhile iteriter_max for i=1:n for i=1:n x(i)=(b(i)-A(i,1:i-1,i+1:n)*x0
13、(1:i-1,i+1:n)/A(i,i);x(i)=(b(i)-A(i,1:i-1,i+1:n)*x0(1:i-1,i+1:n)/A(i,i);end end if norm(x-x0,inf)eps if norm(x-x0,inf)eps)while(norm(x-x1)eps)x1=x;x1=x;x=(I-A)*x1+b;x=(I-A)*x1+b;n=n+1;n=n+1;if(n=M)if(n=M)disp(Warning:disp(Warning:迭代次数太多,现在退出!迭代次数太多,现在退出!迭代次数太多,现在退出!迭代次数太多,现在退出!););return;return;end
14、endendend第十一页,讲稿共三十四页哦例:求解方程组例:求解方程组例:求解方程组例:求解方程组clear all;clear all;A=1.0170 -0.0092 0.0095;A=1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898;0.0095 0.0136 0.9898;b=1 0 1;b=1 0 1;x0=0 0 0;x0=0 0 0;x,n=richason(A,b,x0)x,n=richason(A,b,x0)x=x=0.9739 0.9739 -0.0
15、047 -0.0047 1.0010 1.0010n=n=5 5第十二页,讲稿共三十四页哦 赛得尔迭代法与简单迭代法类似,只是迭代公式有所改进。赛得尔迭代法与简单迭代法类似,只是迭代公式有所改进。赛得尔迭代法与简单迭代法类似,只是迭代公式有所改进。赛得尔迭代法与简单迭代法类似,只是迭代公式有所改进。3、赛得尔迭代法、赛得尔迭代法、赛得尔迭代法、赛得尔迭代法简单迭代法简单迭代法简单迭代法简单迭代法赛得尔迭代法赛得尔迭代法赛得尔迭代法赛得尔迭代法第十三页,讲稿共三十四页哦MATLABMATLAB程序设计程序设计程序设计程序设计function x,n=gauseidel(A,b,x0,eps,M)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 解线性方程组的迭代法 2讲稿 线性方程组 迭代法 讲稿
限制150内