完整word版最速下降法求解线性代数方程组
- 格式:doc
- 大小:17.22 KB
- 文档页数:4
西京学院数学软件实验任务书【实验课题】线性方程组的最速下降法与共轭梯度法【实验目的】学习和掌握线性方程组的最速下降法与共轭梯度法的求解方法。
【实验内容】1、问题重述对于线性方程组A b X =,即:1111221n 12112222n 21122nn n n n n n na x a x a xb a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩L L M L (1) 其中,()=ij n n a ⨯A 为对称正定矩阵,()1i n b b ⨯=,如何熟练地运用最速下降法与共轭梯度法的求解线性方程组。
2、方法理论在求解线性方程组之前,首先用内积将问题转化为函数问题。
2.1 最速下降法最速下降法是一种运用梯度与极值的性质,综合数值计算方法寻找局部极值。
基本思想:任一点的负梯度方向是函数值在该点下降最快的方向。
将n 维问题转化为一系列沿负梯度方向用一维搜索方法寻优的问题,利用负梯度作为搜索方向,故称最速下降法。
具体步骤:1、搜索方向:()k k d f x =-∇,即最速下降方向。
2、搜索步长:k λ取最优步长,即满足:Step 1 给定初始点0n x R ∈,允许误差0ε≥,令1k =。
Step 2 计算搜索方向()k k d f x =-∇。
Step 3 若k d ε≤P P ,则k x 为所求的极值点,否则,求解最优步长k λ,使得()min ()k k k k k f x d f x d λλλ+=+。
Step 4 令1k k k k x x d λ+=+,1k k =+最速下降方向是反映了目标函数的局部性质,它只是局部目标函数值下降最快的方向。
2.2 共轭梯度法对于 1min()2T T f x x Ax b x =+其中,0n x R ∈,A 是对称正定矩阵。
基本思想:将共轭性与最速下降法相结合利用已知迭代点的梯度方向构造一组共轭方向,并沿此方向搜索,求出函数的极小值。
自适应滤波第1章绪论 (1)1.1自适应滤波理论发展过程 (1)1. 2自适应滤波发展前景 (2)1. 2. 1小波变换与自适应滤波 (2)1. 2. 2模糊神经网络与自适应滤波 (3)第2章线性自适应滤波理论 (4)2. 1最小均方自适应滤波器 (4)2. 1. 1最速下降算法 (4)2.1.2最小均方算法 (6)2. 2递归最小二乘自适应滤波器 (7)第3章仿真 (12)3.1基于LMS算法的MATLAB仿真 (12)3.2基于RLS算法的MATLAB仿真 (15)组别: 第二小组组员: 黄亚明李存龙杨振第1章绪论从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波。
相应的装置称为滤波器。
实际上, 一个滤波器可以看成是一个系统, 这个系统的目的是为了从含有噪声的数据中提取人们感兴趣的、或者希望得到的有用信号, 即期望信号。
滤波器可分为线性滤波器和非线性滤波器两种。
当滤波器的输出为输入的线性函数时, 该滤波器称为线性滤波器, 当滤波器的输出为输入的非线性函数时, 该滤波器就称为非线性滤波器。
自适应滤波器是在不知道输入过程的统计特性时, 或是输入过程的统计特性发生变化时, 能够自动调整自己的参数, 以满足某种最佳准则要求的滤波器。
1. 1自适应滤波理论发展过程自适应技术与最优化理论有着密切的系。
自适应算法中的最速下降算法以及最小二乘算法最初都是用来解决有/无约束条件的极值优化问题的。
1942年维纳(Wiener)研究了基于最小均方误差(MMSE)准则的在可加性噪声中信号的最佳滤波问题。
并利用Wiener. Hopf方程给出了对连续信号情况的最佳解。
基于这~准则的最佳滤波器称为维纳滤波器。
20世纪60年代初, 卡尔曼(Kalman)突破和发展了经典滤波理论, 在时间域上提出了状态空间方法, 提出了一套便于在计算机上实现的递推滤波算法, 并且适用于非平稳过程的滤波和多变量系统的滤波, 克服了维纳(Wiener)滤波理论的局限性, 并获得了广泛的应用。
第三章:求解线性方程组第五讲:求解(简化)线性方程组的方法-----消元法这一讲,我们一起来总结求解线性方程组的一个系统有效的方法,这个方法叫消元法(Gauss Eliminations)。
例:⎩⎨⎧=+=-112312y x y x解:①+② 目的是消灭y x-2y+3x+2y=1+11⇒4x=12 ⇒x=3②-3① 目的消灭x 3x+2y-3x+6y=11-3 ⇒8y=8 ⇒y=1一 达到平衡的称(方程)的性质1 可以用一个数去乘一个方程;2 一个方程可以加上(也可以减去)另一个方程的一个倍数;3 可以交换两个方程的位置;总结:上面这三个性质当作三个方法来简化(求解)方程组,叫消元法。
首先通过三个简单的例子来总结消元法:例1、例2、例3;同时总结线性方程组的三种解的情况:例1唯一解,例2无穷多个解,例3无解。
然后完全用矩阵形式来进行消元法,获得线性方程组的最简单形式。
二 如何求解(化简)例:⎩⎨⎧=+=-112312y x y x →→⎩⎨⎧=+=-112312y x y x ②—3①→ ⎩⎨⎧==-8812y y x 18×③→ ⎩⎨⎧==-112y y x ①+2②→ ⎩⎨⎧==13y x 这里我们用了: ①数去乘以个方程,可以吗?②一个方程减去另一个方程的一个倍数,可以吗?当然可以,这是因为我们对方程所做了这些变换后,方程仍保持平衡(与称的性质一样)这样,最后获得了例1的最简形式,⎩⎨⎧==13y x ,这就是原方程组的唯一解。
总结:上面三个线性方程组的解的情况:例1有唯一解(没有自由未知量),例2无解(矛盾方程),例3有无穷多个解(自由未知量)。
这三种就是线性方程组的解的三种情况。
三:矩阵形式例1 ⎥⎦⎤⎢⎣⎡-2321⎥⎦⎤⎢⎣⎡y x =⎥⎦⎤⎢⎣⎡111 解:设A=⎥⎦⎤⎢⎣⎡-2321 X=⎥⎦⎤⎢⎣⎡y x b=⎥⎦⎤⎢⎣⎡111 把A 与b 放在一起[]Ab 叫增广矩阵,它可以代表示该线性方程组,所以我们只需简化[]Ab[]Ab =⎥⎦⎤⎢⎣⎡-1123121②−3①→⎥⎦⎤⎢⎣⎡-88012118×②→ ⎥⎦⎤⎢⎣⎡-110121①+2②→ ⎥⎦⎤⎢⎣⎡110301→即原方程组同解于⎩⎨⎧==13y x ,设:A 1 =⎥⎦⎤⎢⎣⎡1001 b 1=⎥⎦⎤⎢⎣⎡13 此时,[]Ab 已经变成了最简单形式,不能再化简。
线性代数方程组求解线性代数方程组是线性代数中一个重要的概念,它描述了一组线性方程的集合。
求解线性代数方程组是线性代数中的一项基本任务,它对于解决实际问题和数学推理都具有重要意义。
本文将介绍线性代数方程组的求解方法,包括矩阵消元法和矩阵的逆。
矩阵消元法矩阵消元法是求解线性代数方程组的一种常用方法。
它通过消元和回代两个步骤来求解方程组。
具体步骤如下:1.构造增广矩阵:将线性方程组的系数矩阵和常数向量按列合并,得到增广矩阵。
2.初等行变换:对增广矩阵进行初等行变换,将其转化为阶梯形矩阵或行最简形矩阵。
3.回代求解:从最后一行开始,逐步代入求解未知数,得到方程组的解。
矩阵消元法的优点是简单直观,容易理解和实现。
然而,当矩阵的行数和列数较大时,矩阵消元法的计算复杂度会很高,需要消耗大量的时间和计算资源。
矩阵的逆除了矩阵消元法,我们还可以使用矩阵的逆来求解线性代数方程组。
矩阵的逆是一个与原矩阵相乘后得到单位矩阵的矩阵。
对于给定的线性方程组Ax=b,我们可以通过以下步骤求解:1.计算矩阵A的逆矩阵A^-1。
2.将方程组转化为x=A^-1b。
3.计算x的值。
求解矩阵的逆的方法有多种,包括伴随矩阵法和初等变换法等。
其中,伴随矩阵法是一种常用的求解逆矩阵的方法。
它通过求解伴随矩阵和矩阵的行列式来计算矩阵的逆。
使用矩阵的逆求解线性代数方程组的优点是计算速度快,尤其适用于行数和列数较大的情况。
然而,矩阵的逆并不是所有矩阵都存在,如果矩阵不存在逆矩阵或逆矩阵存在但计算困难,则无法使用矩阵的逆求解方程组。
小结线性代数方程组的求解是线性代数中的一个重要问题,涉及到实际问题的解决和数学推理。
本文介绍了两种求解线性代数方程组的方法:矩阵消元法和矩阵的逆。
矩阵消元法通过消元和回代的过程来求解方程组,简单直观但计算复杂度较高;矩阵的逆通过求解矩阵的逆矩阵来求解方程组,计算速度快但存在逆矩阵不存在的情况。
根据具体问题的需求和矩阵性质的条件,选择合适的方法来求解线性代数方程组是十分重要的。
最速下降法求解线性代数方程组要求:对于给定的系数矩阵、右端项和初值,可以求解线性代数方程组
一、最速下降法数学理论
PP?tX?Xf(X)的负梯中,在基本迭代公式每次迭代搜索方向取为目标函数kk1kkk?t)X??f(P?取为最优步长,由此确定的算法称为最速度方向,即,而每次迭代的步长kkk下降法。
X)Xminf(kk。
现在次,获得了第,假定我们已经迭代了为了求解问题个迭代点k X出发,可选择的下降方法很多,一个非常自然的想法是沿最速下降方向(即负梯度方从k X邻近的范围内是这样。
因此,去搜索方向为 )进行搜索应该是有利的,至少在向k P???f(X).
kk P k?1进行一维搜索,由此得到第为了使目标函数在搜索方向上获得最多的下降,沿k个跌带点,即
X?X?t?f(X),kk1k?k t按下式确定其中步长因子k f(X?t?f(X))?minf(X?t?f(X)),
kkkkkk X?ls(X,??f(X)). ( 1)
k1k?k X X,XX,, ,,?k0,12是初始点,由计算就可以得到一个点列,显然,令其中0210{X}f)X(X)(f 的满足一定的条件时,由式()所产生的点列必收敛于者任意选定。
当1k极小点。
二、最速下降法的基本思想和迭代步骤
???,)(Xf(X)g. ,终止限已知目标函数及其梯度和321Xf?f(X),g?g(X)k?0.
,计算;置(1)选定初始点00000X?ls(X,?g)f?f(X),g?g(X). (2)作直线搜索:;计算
k?1kk1?k1k?kk?1?1(X,f(X))k?k?1,置,结束;用终止准则检验是否满足:若满足,则打印最优解否则,1k?1?k转(2)
(3)最速下降法算法流程图如图所示.
X
结束
三、最速下降法的matlab实现
function [x,n]=twostep(A,b,x0,eps,varargin) %两步迭代法求线性方程组Ax=b的解
if nargin==3
eps= 1.0e-6;
M = 200;
elseif nargin<3
error
return
elseif nargin ==5
M = varargin{1};
end
D=diag(diag(A)); %求A的对角矩阵
L=-tril(A,-1); %求A的下三角阵
U=-triu(A,1); %求A的上三角阵
B1=(D-L)\U;
B2=(D-U)\L;
f1=(D-L)\b;
f2=(D-U)\b;
x12=B1*x0+f1;
x =B2*x12+f2;
n=1; %迭代次数
while norm(x-x0)>=eps
x0 =x;
x12=B1*x0+f1;
x =B2*x12+f2;
n=n+1;
if(n>=M)
'); 迭代次数太多,可能不收敛! disp('Warning: return;
end
end
的解最速下降法求线性方程组Ax=bfunction [x,n]= fastdown(A,b,x0,eps) %if(nargin == 3)
eps = 1.0e-6;
end
x=x0;
n=0;
tol=1;
以下过程 % while(tol>eps)
可参考算法流程 r = b-A*x0;
d = dot(r,r)/dot(A*r,r);
x = x0+d*r;
tol = norm(x-x0);
x0 = x;
n = n + 1;
end
四、最速下降法的算例实现
A=[5 2 0;6 4 1;1 2 5];
b=[10 18 -14]';
eps=1.0e-6;
x =
-0.8750
7.1875
-5.5000 k =
60。