稀疏矩阵计算实验报告.doc

稀疏矩阵计算实验报告.doc

ID:57845152

大小:165.00 KB

页数:7页

时间:2020-03-31

稀疏矩阵计算实验报告.doc_第1页
稀疏矩阵计算实验报告.doc_第2页
稀疏矩阵计算实验报告.doc_第3页
稀疏矩阵计算实验报告.doc_第4页
稀疏矩阵计算实验报告.doc_第5页
资源描述:

《稀疏矩阵计算实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2015-2016学年第二学期《稀疏矩阵计算》实验报告东北师范大学稀疏矩阵计算实验报告姓名:孙洋学号:20151017632015-2016学年第二学期《稀疏矩阵计算》实验报告稀疏矩阵计算实验报告实验名称稀疏矩阵计算实验指导教师李冰玉姓名孙洋年级研一学号2015101763成绩实验稀疏矩阵计算实验一、实验目的:  1、学习使用matlab编写矩阵计算程序。2、了解共轭梯度法(CG)和预优共轭梯度法(PCG)的原理和编程方法。二、实验要求:1、阐述共轭梯度法(CG)和预优共轭梯度法(PCG)的原理和编程方法。2、根据共轭梯度法(CG

2、)和预优共轭梯度法(PCG)编写matlab程序,并运行得出结果。3、Test1:假定线性方程组Ax=b的系数矩阵A和右端项b分别为,显然,此方程的真解为x*=(1,1,…,1)T,应用共轭梯度法求解该线性方程组,迭代64步后得到的近似解满足画出迭代过程,其中横坐标为迭代步骤k,纵坐标为,这里rk是第k步得到的剩余向量。Test2:考虑实验一中的线性方程组,如果我们选取预优矩阵M为A的对角元构成的对角矩阵,即M=diag(1,2,…,100),则预优共轭梯度法迭代在13步之后得到的近似解就满足画出迭代过程,其中横坐标为迭代步骤k,

3、纵坐标为,这里rk是第k步得到的剩余向量。并与实验一的结果作比较。三、实验原理:共轭梯度法(CG)是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse2015-2016学年第二学期《稀疏矩阵计算》实验报告矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。CG法步骤及格式:(一)

4、选取步长(二)选取方向CG法基本格式:=+=-==预优共轭梯度法是将原方程组变形,使其系数矩阵的谱相对集中。简单的说,就是先选择一个适当的对称正定矩阵M,使矩阵M-1A的谱相对集中,在运用共轭梯度法方法到等价的方程组上即可。PCG法基本格式:=+=-=四、实验内容与步骤:  1、实验内容:依照实验原理编共轭梯度法(CG)和预优共轭梯度法(PCG)的程序。  2、实验步骤:实验程序如下:程序代码2015-2016学年第二学期《稀疏矩阵计算》实验报告Test1a1=1:100;a2=ones(1,99);A=diag(a1)-diag

5、(a2,-1)-diag(a2,1);%形成三对角矩阵Ab=0:97;b=[0b];b=[b99]';%形成100行1列矩阵bx0=zeros(100,1);[x0Rerr]=CGmethod(A,b,x0);k0=0:64;errR=log10(R);plot(k0,R,'r-o')%画出残差向量图function[x0Rerr]=CGmethod(A,b,x0)r0=b-A*x0;p0=r0;%初始梯度R=norm(r0);k=0;whilek<64h=r0'*r0;l=p0'*A*p0;elpha=h/l;x1=x0+elp

6、ha*p0;r1=r0-elpha*A*p0;R=[Rnorm(r1)];h1=r1'*r1;beta=h1/h;p1=r1+beta*p0;x0=x1;r0=r1;p0=p1;k=k+1;endx=ones(100,1);err=norm(x0-x);EndTest2a1=1:1:100;a2=ones(1,99);A=diag(a1)-diag(a2,-1)-diag(a2,1);%形成三对角矩阵Ab=0:98;b(99)=99;%形成100行1列矩阵bb=[0b]';x0=zeros(100,1);C=diag(a1);20

7、15-2016学年第二学期《稀疏矩阵计算》实验报告[x0Rerr]=PCGmethod(A,C,b,x0);k0=0:14;errx0Rplot(k0,R,'b-o')%画出残差向量图function[x0Rerr]=PCGmethod(A,C,b,x0)C1=C^(-1);r0=b-A*x0;%初始梯度R=log10(norm(r0));p0=C1*r0;k=0;whilek<14n=p0'*A*p0;m=r0'*C1*r0;%预优矩阵Malpha=m/n;x1=x0+alpha*p0;r1=r0-alpha*A*p0;R=[R

8、log10(norm(r1))];m1=r1'*C1*r1;beta=m1/m;p1=C1*r1+beta*p0;x0=x1;p0=p1;r0=r1;k=k+1;enderr=norm(x0-ones(100,1));%输出残量end五、实验结果:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。