2.2 迭代法
- 格式:ppt
- 大小:1.28 MB
- 文档页数:40


第二章 解线性代数方程组的迭代法
2. 1 引言
在许多实际问题中,常常需要求解这样的线性代数方程组,它的系数矩阵数 很高,但非零元素很少,人们称其为大型稀疏线性代数方程组,对于这类方程组, 如果它乂不具有带状性,那么,再用直接法求解就不太有效,因为用直接法进行消 元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状, 导致了计算量的增加和存储单元的浪费,于是,人们常用迭代法求解大型稀疏线性 代数方程组。迭代法只需要存储系数矩阵的非零元素,这样,占用内存在单元较 少,能解高阶线性代数方程组。山于迭代法是通过逐次迭代来逼近方程组的解,因 此,收敛性和收敛速度是构造迭代法时要注意的问题。那么,是否可以构造一种适 用于一般情况的迭代法呢?回答是否定的,这是因为不同的系数矩阵具有不同的性 态,一般地,每一种迭代法都具有一定的适用范围,在本章的学习中将会看到,有
时,某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。因 此,我们应该学会针对具有不同性质的线性代数方程组,构造合适的迭代方法。
本章主要介绍一些基本的迭代法,并在一定的范围内讨论其中儿种方法的收 敛法。
2. 2 基本迭代法
考虑线性方程组
如坷+如勺+…+气兀”二勺
a2txi+a22x2 + - + a2„xn =b2 ■ • • • • • • • • • • •
(2. 1)
采用矩阵和向量记号,我们可以把(2.1)式写成0
Ax = h
(2.2)
其中,
为非奇异矩阵,设
下面我们介绍雅可比(Jacobi)迭代,高斯-塞德尔(Gauss-Seidel)迭代与
S0R迭代以及SS0R迭代的基本思想和算法。为了方便地给出矩阵表示式,我们引 进下列矩阵分裂:
4SD-U,
(2.3)
其中
-a2\
-an\
(1) 雅可比迭代的基本思想
从式(2.1)的第i个方程中解出Xt =(/ = 1,2,•••,«)
实验二:迭代法、初始值与收敛性
一:实验要求
考虑一个简单的代数方程
210,xx
针对上述方程,可以构造多种迭代法,如211111,1,1nnnnnnxxxxxx等。在实轴上取初值,分别用以上迭代做实验,记录各算法的迭代过程。
二:实验要求及实验结果
(1) 取定某个初始值,按如上迭代格式进行计算,它们的收敛性如何?重复选取不同放入初始值,反复实验。请读者自行设计一种比较形象的记录方式(如何利用Matlab的图形功能),分析三种迭代法的收敛性与初值的选取关系。
(2) 对三个迭代法中的某一个,取不同的初值进行迭代,结果如何?试分析对不同的初值是否有差异?
实验内容:
ⅰ)对211nnxx进行迭代运算,选取迭代次数n=20;分别选择初值-0.6, 1.6进行实验,并画出迭代结果的趋势图。
编写MATLAB运算程序如下:
%迭代法求解
%令x=x^2-1
clear
n=30;
x=-0.5;
x1=x^2-1;
for i=1:n
x1=x1^2-1;
xx(i)=x1;
end
m=linspace(0,29,n);
plot(m,xx)
title('x=-0.5')
02468101214161820-1-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.10x=-0.602468101214161820-1-0.500.511.5x=1.6
如上图所示,选取初值分别为-0.6、1.6时,结果都是不收敛的。
随机抽样
对tttxY10 , nt2,1做OLS
tttxYˆˆˆ0 , nt2,1
te~ , nt2,1
对tltlttt2211 , nlt,1做OLS
1ˆ,2ˆ,…,lˆ
不满意
对tltltttltlttxxxYYY)ˆˆ()ˆˆ1(ˆˆ1111011
lt1,l2,……,n 做OLS
0ˆ,1ˆ
满意
end 满意
不满意 随机抽样
对
tlktlktktkltltttltlttxxxxxxYYY)()()1(111111111011
lt1,l2,……,n 做OLS
0ˆ,…,kˆ 第二步
end 1ˆ,…,lˆ 第一步
超松弛迭代法求解两点边值问题(二)
摘要
本文是在matlab环境下熟悉的运用计算机编程语言并结合超松弛变量超松弛迭代法的理论基础对方程组求解。
首先,本文以微分方程边值问题为例,导出了离散化后线性方程组即稀疏线性方程组,转化对稀疏线性方程组求解问题。其次,用超松弛( SOR) 迭代法编写matlab程序,对产生的稀疏线性方程组进行迭代法求解。然后,分别改变松弛因子ω和分段数n的值,分析其收敛性和收敛速度,做出各个方面的分析和比较得到相关结论。最后,将超松弛迭代算法在计算机上运用matlab语言实现, 得出了一组与精确解较接近的数值解,并画图比较,验证逐次超松弛( SOR) 迭代法的精确性。
关键词:稀疏线性方程组;逐次超松弛迭代法;松弛因子;matlab编程
OVERRELAXATION ITERATIVE METHOD FOR
SOLVING
TWO-BOUNDARY VALUE PROBLEM(TWO)
ABSTRACT
This is familiar with the use of computer programming in matlab language and
overrelaxation variable overrelaxation iteration method of the theoretical basis of
solving equations.
First of all, as an example, based on differential equation boundary value problem
is derived after discretization is sparse system of linear equations of linear
equations, the transformation of sparse linear equations to solve the problem. Second,