数学实验线性方程组的最速下降法与共轭梯度法解法实验报告内含matlab程序代码文档格式.docx
- 文档编号:14720081
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:5
- 大小:67.26KB
数学实验线性方程组的最速下降法与共轭梯度法解法实验报告内含matlab程序代码文档格式.docx
《数学实验线性方程组的最速下降法与共轭梯度法解法实验报告内含matlab程序代码文档格式.docx》由会员分享,可在线阅读,更多相关《数学实验线性方程组的最速下降法与共轭梯度法解法实验报告内含matlab程序代码文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
线性方程组的最速下降法与共轭梯度法
实验目的
熟悉线性方程组的最速下降法与共轭梯度法
实验要求
运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成
实验内容
线性方程组的最速下降法
线性方程组的共轭梯度法
成绩
教师
实验五实验报告
1、实验名称:
最速下降法与共轭梯度法解线性方程组。
2、实验目的:
进一步熟悉理解掌握最速下降法与共轭梯度法解法思路,提高matlab编程能力。
3、实验要求:
已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。
4、实验原理:
1.最速下降法:
从某个初始点出发,沿在点处的负梯度方向
求得的极小值点,即
然后从出发,重复上面的过程得到。
如此下去,得到序列{}
可以证明,从任一初始点出发,用最速下降法所得到的序列{}均收敛于问题使最小化的解,也就是方程组的解。
其收敛速度取决于,其中,分别为A的最小,最大特征值。
最速下降法迭代格式:
给定初值,按如下方法决定:
2.共轭梯度法
其基本步骤是在点处选取搜索方向,使其与前一次的搜索方向关于共轭,即
然后从点出发,沿方向求得的极小值点,即
如此下去,得到序列{}。
不难求得的解为
注意到的选取不唯一,我们可取
由共轭的定义可得:
共轭梯度法的计算过程如下:
第一步:
取初始向量,计算
第步:
计算
5、实验内容:
%最速下降法
function[x,k]=fastest(A,b,eps);
x0=zeros(size(b),1);
x=x0;
k=0;
m=1000;
tol=1;
whiletol>
=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;
ifk>
=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梯度
whilenorm(r0)>
esp
r0=b-A*x0;
k=k+1;
ifk==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;
x=r0;
k;
6、实验结果:
A=[520;
641;
125];
b=[1018-14]'
;
eps=1.0e-6;
x=
-0.8750
7.1875
-5.5000
k=
60
仅供个人用于学习、研究;
不得用于商业用途。
notforcommercialuse.
Nurfü
rdenpersö
nlichenfü
rStudien,Forschung,zukommerziellenZweckenverwendetwerden.
Pourl'
é
tudeetlarechercheuniquementà
desfinspersonnelles;
pasà
desfinscommerciales.
толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях.
以下无正文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 实验 线性方程组 下降 共轭 梯度 解法 报告 内含 matlab 程序代码