(完整版)山建大数值分析实验报告

上传人:yanj****uan 文档编号:224174101 上传时间:2021-12-15 格式:DOC 页数:20 大小:687.50KB
返回 下载 相关 举报
(完整版)山建大数值分析实验报告_第1页
第1页 / 共20页
(完整版)山建大数值分析实验报告_第2页
第2页 / 共20页
(完整版)山建大数值分析实验报告_第3页
第3页 / 共20页
(完整版)山建大数值分析实验报告_第4页
第4页 / 共20页
(完整版)山建大数值分析实验报告_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《(完整版)山建大数值分析实验报告》由会员分享,可在线阅读,更多相关《(完整版)山建大数值分析实验报告(20页珍藏版)》请在金锄头文库上搜索。

1、山东建筑大学数值计算 A实验报告二级学院: 理学院专 业: 信息与计算科学指导教师: XXX班级学号: 信计 XX XX姓 名: XXXX实验一 高斯消去法(1)题目:用选主元素法和高斯消去法求解下列方程组:已知方程增广矩阵:a =2 -1 0 0 6-1 -3 -2 0 1-1 3 -2 0 00 0 -3 5 1(2)原理:(1) 高斯消去法: 相对于约当消去法而言, 总的来说就是将增广矩阵化为下三角阵。(2) 顺序选主元素法 : 相对于高斯消去法的唯一不同是要先按当前要排列元素所在列大小进行排列。(3)设计思想:(1) 高斯消去法:首先让每一行的元素除以该行的主对角线元素。然后利用此行使

2、位于下一行主对角线以前的元素变为 0,依次类推。(2) 选主元素法:在高斯消去法的基础上,每次进行化上三角阵之前,重新排列各方程的位置。(4)对应程序:(a)高斯消去法function y=gauss1(a,b)%高斯顺序消去法m,n=size(a);if m=ndisp( 输入错误,系数矩证阵只能是方阵 )endif n=length(b)disp( 输入错误 , 常数项的个数应与方程的个数相同 )endfor k=1:n-1for i=k+1:na(i,k)=a(i,k)/a(k,k);b(i)=b(i)-a(i,k)*b(k);for j=k+1:nif a(k,k)=0disp( 主元

3、素为零,消去法无法继续 ) ;break;elsea(i,j)=a(i,j)-a(i,k)*a(k,j);endendendendb(n)=b(n)/a(n,n);for i=(n-1):-1:1w=0;for j=(i+1):nw=w+a(i,j)*b(j);endb(i)=(b(i)-w)/a(i,i);endy=b;(b)高斯列主元消去法function z=gauss2(a,b,ep)%高斯列主元素消元法if nargin=2ep=0.000001endm,n=size(a);if m=ndisp( 输入错误,系数矩证阵只能是方阵 )endif n=length(b)disp( 输入错

4、误 , 常数项的个数应与方程的个数相同 )endfor k=1:n-1p=a(k,k);I=k;for i=k:nif abs(a(i,k)abs(p)p=a(i,k);I=i;endendif pa =2 -1 0 0-1 -3 -2 0-1 3 -2 00 0 -3 5 b =6101 gauss1(a,b)方程组的解为ans =35/12-1/6-41/24-33/40(6)实验体会:主元消去法和高斯消去法的确是两个非常锻炼人编程的方法, 在编写程序时, 需要使用的大量的循环和分支结构, 但无论是高斯消去法还是高斯列主元法, 它们的原理还算不难理解,通过变成能够较好的理解它们。实验二 解

5、线性方程组的迭代法2.1 实验目的 掌握解线性方程组的雅可比迭代和高斯 - 塞德尔迭代算法; 培养编程与上机调试能力 .2.2 实验要求:(1)选择一种计算机语言( Matlab )设计出雅可比( Jacobi )Gauss-Seidel 、SOR迭代法,迭代法的算法程序,并且选择不同的迭代次数,观察输出结果;(2)利用 Matlab 求方程组2.3 实验内容计算书上的习题(1)题目:P61 例 2.5.1a=20 2 3;1 8 1;2 -3 15; b=24;12;30; x0=0;0;0;(2)对应程序:Jacobi 迭代法:function X=jacobi(a,b,X0,ep)%Ja

6、cobi 迭代法求解方程组if nargin=3ep=1.0e-6;elseif nargin=ep)&(kabs(p)p=a(i,k);I=i;endendif p=epz=0;endif I=kfor j=k:nw=a(k,j); a(k,j)=a(I,j);a(I,j)=w;endu=b(k);b(k)=b(I); b(I)=u;endfor i=k+1:na(i,k)=a(i,k)/a(k,k);b(i)=b(i)-a(i,k)*b(k);for j=k+1:na(i,j)=a(i,j)-a(i,k)*a(k,j);endendendb(n)=b(n)/a(n,n);for i=(n-

7、1):-1:1w=0;for j=(i+1):nw=w+a(i,j)*b(j);endb(i)=(b(i)-w)/a(i,i);end% disp( 方程组的解为 );z=b;gauss2(a,b,ep)(3)实验结果:Jacobi 迭代法:迭代次数为k =6ans =0. 331. 332. 67高斯消元法:ans =0. 151. 942. 37(4)实验体会:Jacobi 迭代法和高斯消元法都能很好的解决方程组的求解问题,在上机程中遇到了也遇到了不少问题, 但最后在老师的悉心辅导下都得到了很好的解答, 这两个程序使我明白了要变出好的程序就需要我们积极思考问题,勇于发现和解决问题。实验三

8、矩阵特征值问题计算3.1 实验目的 掌握求矩阵的特征值和主特征向量的幂法; 培养编程与上机调试能力 .3.2 实验要求(1) 选择一种计算机语言设计出幂法求主特征值和相应特征向量的程序, 并且选择不同的初值,观察所需的迭代次数和迭代结果 .(2) 利用 Matlab 求特征值和特征向量调用格式 1: eig(A) % 得到特征值列向量调用格式 2:,其中为由特征列向量构成的方阵,为由特征值构成的对角阵 . %得到特征值和所对应的特征向量3.3 实验内容计算书上的习题(1)题目:P81例 3.1.1A=2 4 6;3 9 15;4 16 36 x0=1;1;1(2)对应程序:乘幂法functio

9、n y=chm(a,x0,k)%乘幂法求主特征值及特征向量if nargin=eps)&(kww=abs(a(i,j);p=i;q=j;endendendif a(p,p)=a(q,q)theta=sign(a(p,q)*pi/4;G(p,p)=a(p,p)*(cos(theta)2+a(q,q)*(sin(theta)2+a(p,q)*sin(2*theta);G(q,q)=a(p,p)*(sin(theta)2+a(q,q)*(cos(theta)2-a(p,q)*sin(2*theta);G(p,q)=(a(q,q)-a(p,p)*(cos(theta)*(sin(theta)+a(p,

10、q)*(cos(2*theta);G(q,p)=G(p,q);for i=1:nR1(i,p)=R(i,p)*cos(theta)+R(i,q)*sin(theta);R1(i,q)=-R(i,p)*sin(theta)+R(i,q)*cos(theta);if (i=p)&(i=q)G(p,i)=a(i,p)*(cos(theta)+a(i,q)*(sin(theta);G(i,p)=G(p,i);G(q,i)=-a(i,p)*(sin(theta)+a(i,q)*(cos(theta);G(i,q)=G(q,i);endendelsegasi=(a(p,p)-a(q,q)/(2*a(p,q);t=sign(gasi)*(-abs(gasi)+sqrt(1+gasi2);G(p,p)=a(p,p)*(1/(1+t2)+a(q,q)*(t2/(1+t2)+a(p,q)*2*(t/(1+t2);G(q,q)=a(p,p)*(t2/(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号