数学实验线性方程组最速下降法与共轭梯度法解法实验报告内含matlab程序代码_
时间:2020-08-07 13:11:08 来源:天一资源网 本文已影响 人
精品文档
西京学院数学软件实验任务书
课程名称
数学软件实验
班级
数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编程能力。
三、实验要求:已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。
四、实验原理:
1.最速下降法:
从某个初始点 出发,沿在点处的负梯度方向 )(0)(0XX)(Xf )0)((0)(0AX)f(X?br?求得的极小值点, 即 )(1X)Xf( )(0(0)?)rfmin(X0然后从出发,重复上面的过程得到。如此下去,))2((1XX得到序列{}
)k(X )(k1(0)())X(Xf()?...f(X?f)?可以证明,从任一初始点 出发, 用最速下降法所得)0(X到的序列{}均收敛于问题使最小化的解,也就是方)k(XX)Xf(,其中 ,的解。其收敛速度取决于程组分别1nbAX? 1n1n 精品文档.
精品文档
为A的最小,最大特征值。最速下降法迭代格式:给定初值,)0(X按如下方法决定: )(kX(k)k(k)AX)f(Xr?b? (k)T(k)r,r(k?1)(k)(k)rX? X kk(k)T)(k?,Arr?2.共轭梯度法
其基本步骤是在点 处选取搜索方向, 使其与前)(k)k(dX一次的搜索方向 关于共轭,即 )1(k?dA 1)?(k?1)(k)(k0dd,Ad然后从点 出发,沿方向求得的极小值点)(k)k(dX)(Xf , 即 )(k?1X )k((k?1)?)f(X?(Xd)?minf?0?如此下去, 得到序列{}。不难求得的)?1k(k)()(k0Ad,?dX解为
(k)(k)b?AX,d (k?1)(k)k()X?dX? )1?(1k(?)kAd,d注意到的选取不唯一,我们可取 )(kd 精品文档.
精品文档
)1k?(k)((k)?d?)df(X1?k由共轭的定义可得: )1(k)k?(0Ad,?d(k)(k?1)?,rAd? 1k?(k?1)(k?1)?d,Ad?共轭梯度法的计算过程如下:
第一步:取初始向量, 计算 )(0X(0)(0)(0)(0)?XA?bf(Xdr)?(0)(0)?,Ad?r? ? 0(0)(0)?d,Ad(1)(0)(0)?dXX?0第步:计算 1k?(k)(k)(k)?X?A)?rbf(X?(k)(k?1)r,Ad k?1(k?1)(k?1)?,?dAd )?1(k)(k)k(?d?d r1k(k)(k)?r,Ad k(k)(k),Ad?d?(k?1)(k)(k)?dXX0五、实验内容:
%最速下降法
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 endx
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.
только для людей, которые используются для обучения, исследований и не должны
использоваться в коммерческих целях.
以下无正文
精品文档.
相关关键词: 操作系统文件管理实验 新晃思源实验学校:誓师大会,备战中考 新晃思源实验学校图片 新晃思源实验学校简介 “国培计划(2017)”英语科送教活动在白水县田家炳实验中学进行