数学实验“线性方程组最速下降法与共轭梯度法解法”实验报告(内含matlab程序代码)(10页)

来源:工作范文网 时间:2020-09-21 12:45:35

PAGE / NUMPAGES

西京学院数学软件实验任务书

课程名称

数学软件实验

班级

数0901

For personal use only in study and research; not for commercial use

学号

07

姓名

For personal use only in study and research; not for commercial use

李亚强

实验课题

线性方程组的最速下降法与共轭梯度法

For personal use only in study and research; not for commercial use

实验目的

熟悉线性方程组的最速下降法与共轭梯度法

实验要求

运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成

实验内容

线性方程组的最速下降法

线性方程组的共轭梯度法

成绩

教师

实验五实验报告

实验名称:最速下降法与共轭梯度法解线性方程组。

实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路,提高matlab编程能力。

实验要求:已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。

实验原理:

最速下降法:

从某个初始点 出发,沿在点处的负梯度方向

求得的极小值点, 即

然后从出发,重复上面的过程得到。如此下去,得到序列{}

可以证明,从任一初始点 出发, 用最速下降法所得到的序列{}均收敛于问题使最小化的解,也就是方程组的解。其收敛速度取决于,其中 ,分别为A的最小,最大特征值。最速下降法迭代格式:给定初值,按如下方法决定:

共轭梯度法

其基本步骤是在点 处选取搜索方向, 使其与前一次的搜索方向 关于共轭,即

然后从点 出发,沿方向求得的极小值点 , 即

如此下去, 得到序列{}。不难求得的解为

注意到的选取不唯一,我们可取

由共轭的定义可得:

共轭梯度法的计算过程如下:

第一步:取初始向量, 计算

第步:计算

实验内容:

%最速下降法

function [x,k]=fastest(A,b,eps);

x0=zeros(size(b),1);

x=x0;

k=0;

m=1000;

tol=1;

while tol>=eps

r=b-A*x0;

q=dot(r,r)/dot(A*r,r);

x=x0+q*r;

k=k+1;

tol=norm(x-x0);

x0=x;

if k>=m

disp('迭代次数太多,可能不收敛!');

return;

end

end

x

k

%共轭梯度法

function [k,x]=gong_e(A,b)

esp=input('请输入允许误差esp=');

x0=input('请输入初始值x0=');

k = 0 ;

r0 = b-A*x0; %求出dangqian梯度

while norm(r0)>esp

r0 = b -A*x0;

k = k + 1 ;

if k==1

p0 = r0 ;

else

lamda=(r0'*r0)/(p0'*A*p0);

r1 = r0 - lamda*A*p0 ;

p0=r0+(r0'*r0)/(r1'*r1)*p0;

x1 = x0 + lamda*p0;

x0=x1;

r0=r1;

end

end

x=r0;

k;

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

仅供个人用于学习、研究;不得用于商业用途。

For personal use only in study and research; not for commercial use.

Nur für den pers?nlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.

Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.

?только для людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.?

以下无正文