欢迎来到天天文库
浏览记录
ID:42038089
大小:251.76 KB
页数:24页
时间:2019-09-06
《《数值计算A2》实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、山东建筑大学《数值计算A》实验报告二级学院:理学院专业:信息与计算科学指导教师:夏省祥班级学号:2010121184姓名:王福婕实验一高斯消去法1.1实验目的①掌握高斯消去法的基本思路和迭代步骤;②培养编程与上机调试能力。1.2实验要求川选主元素法和烏斯消去法两种方法解方程组。1.3实验内容计算书上的习题(1)题目:(2)原理:(3)设计思想:(4)对应程序:(5)实验结果:(6)图形(如果可视化)(7)实验体会:样例实验一高斯消去法(1)题目:用选主元素法和高斯消去法求解下列方程组:已知方程増广矩阵
2、:2-1006-1-3-201-13-20000-301(2)原理:(1)高斯消去法:相对于约当消去法而言,总的来说就是将增广矩阵化为下三角阵。⑵顺序选主元索法:相对于高斯消去法的唯一不同是要先按当前要排列元素所在列大小进行排列。(1)设计思想:(1)高斯消去法:首先让每一行的元素除以该行的主对角线元素。然后利川此行使位于下一行主对介线以前的元素变为0,依次类推。(2)选主元素法:在高斯消去法的基础上,每次进行化上三角阵之前,重新排列各方程的位置。(2)对应程序(a)高斯消去法functiony=ga
3、ussl(afb)%高斯顺序消去法•”[mzn]=size(a);ifm〜=ndispC输入错误,系数炬证阵只能是方阵,endifn^=length(b)disp「输入错误,常数项的个数应与方程的个数和同Tendfork=l:n-1fori=k+l:na(i,k)=a(i,k)/a(kzk);b(i)=b(i)-a(ifk)b(k);forj=k+l:nifa(k,k)==0disp「主元索为零,消去法无法继续T;break;elsea(izj)=a(i,j)-a(izk)(k,j);endenden
4、dendb(n)=b(n)/a(nzn);fori=(n-1):-1:1w=0;forj=(i+1):nw=w+a(izj)b(j);endb(i)=(b(i)-w)/a(izi);endy=b;(b)高斯列主元消去法functionx=gaussMethod(A,b)n=size(A,1);ifmbs(det(A))<=le-8error(啄数矩阵是奇异的,);return;end%fork=l:nak=max(mbs(A(k:nzk)));index=find(A(:,k)==ak);ifleng
5、th(index)==0index=find(A(:,k)==-ak);endtemp=A(index,:);A(index,:)=A(k,:);A(kz:)=temp;temp=b(index);b(index)=b(k);b(k)=temp;fori=k+l:nm=A(i,k)/A(k,k);A(irk+l:n)=A(i6、l:n)x(k+l:n))/A(k,k);endx=x1;end(1)实验结果:1)»a=00-20-20-352-1-1-3-1300>>gaussl(a,b)方程组的解为ans=35/12-1/6-41/24-33/402)A=2-101-3-213-200-30005»b=[6;l;0;l]b=6101>>gaussMethod(A,b)ans=2.9167-0.1667-1.7083-0.8250(6)实验体会:主元消去法和高斯消去法的确是两个非常锻炼人编程的方法。在这两个程序中,循环是必不可7、少的,也就是说要更新大量的变量。不过,主元消去法也好,高斯消去法也好,它们的原理还算不难理解。实验二解线性方程组的迭代法2.1实验目的①掌握解线性方程组的雅口J比迭代和高斯-塞徳尔迭代算法;②培养编程与上机调试能力.2.2实验要求:(1)选择一种计算机语言(Matlab)设计出雅可比(Jacobi)Gauss-Seidel、S0R迭代法,迭代法的算法程序,并II选择不同的迭代次数,观察输出结果;(2)利用Matlab求方程组2.3实验内容(1)题目:已知增广矩阵a=10-1206-111-13252-8、110-1-1103-1815(2)原理:Jocobi:构造雅可比迭代公式,代入初始向量,依次循环。Gauss-Seidel:构造高斯塞得尔迭代公式,代入初始向量,依次循环。(3)设计思想:Jocobi:构造雅可比迭代公式,然后取任意初始向量,代入上述公式,可求得第一次近似解,把第一次近似解代入公式,求得第二次近似解,依此循环,冇•到解收敛于某一个实数为止。Gauss-Seidel:构造高斯-塞得尔公式,然后取任意初始向量,代入上述公式,口J求得第一次近
6、l:n)x(k+l:n))/A(k,k);endx=x1;end(1)实验结果:1)»a=00-20-20-352-1-1-3-1300>>gaussl(a,b)方程组的解为ans=35/12-1/6-41/24-33/402)A=2-101-3-213-200-30005»b=[6;l;0;l]b=6101>>gaussMethod(A,b)ans=2.9167-0.1667-1.7083-0.8250(6)实验体会:主元消去法和高斯消去法的确是两个非常锻炼人编程的方法。在这两个程序中,循环是必不可
7、少的,也就是说要更新大量的变量。不过,主元消去法也好,高斯消去法也好,它们的原理还算不难理解。实验二解线性方程组的迭代法2.1实验目的①掌握解线性方程组的雅口J比迭代和高斯-塞徳尔迭代算法;②培养编程与上机调试能力.2.2实验要求:(1)选择一种计算机语言(Matlab)设计出雅可比(Jacobi)Gauss-Seidel、S0R迭代法,迭代法的算法程序,并II选择不同的迭代次数,观察输出结果;(2)利用Matlab求方程组2.3实验内容(1)题目:已知增广矩阵a=10-1206-111-13252-
8、110-1-1103-1815(2)原理:Jocobi:构造雅可比迭代公式,代入初始向量,依次循环。Gauss-Seidel:构造高斯塞得尔迭代公式,代入初始向量,依次循环。(3)设计思想:Jocobi:构造雅可比迭代公式,然后取任意初始向量,代入上述公式,可求得第一次近似解,把第一次近似解代入公式,求得第二次近似解,依此循环,冇•到解收敛于某一个实数为止。Gauss-Seidel:构造高斯-塞得尔公式,然后取任意初始向量,代入上述公式,口J求得第一次近
此文档下载收益归作者所有