数值分析课程设计实验报告_第1页
数值分析课程设计实验报告_第2页
数值分析课程设计实验报告_第3页
数值分析课程设计实验报告_第4页
数值分析课程设计实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析课程设计实验报告姓名:陈浩学号:081002102班级:091002 指导老师:任林源 完成日期:2011-7目录一丶概述_二丶设计内容_三丶设计过程_四丶主要代码_五丶结果显示_六丶结果验证_七丶设计总结_实验一:Gauss消去法和Gauss选列主元消去法一丶概述1.1 设计名称:Gauss消去法和Gauss选列主元消去法1.2 设计目的:数值分析课本中的最基础解线性方程组的方法Gauss消去法和Gauss选列主元消去法,随着对他们的深入研究发现他们也有很多缺点.设计这次试验是为了找出这两者之间的区别。加强对这两种算法的了解和掌握,还有锻炼分析问题,解决问题的能力,理解和掌握相关算法

2、的原理执行并完成程序设计.二丶设计内容、编程试验Gauss消去法和Gauss选列主元消去法;对二者算法进行比较;三丶设计过程3.1 Gauss消去法3.1.1 消去法实现: 根据消去法的原理,编写Matlab程序,并运行,然后带入数据算出结果,再比较.3.1.2 Gauss消去法的原理:方程组:A*x=b A为矩阵A= a(11) a(12)a(1n); a(21) a(22)a(2n); a(n1) a(n2)a(nn)b=b1 b2 bn1 回带过程用行列式的初等行变换把A化为上三角矩阵,则可以取得xn的值,有xn的值则可以带入上一式中求出x(n-1)的值,以此类推则可以求得xi的值则递推

3、公式xn=un,n-1/unnxi=1/uii(ui,n+1-(ui,i+1xi+1+.+uinxn)3.2 Gauss选列主元消去法3.2.1 原理:选列主元消去法就是在系数矩阵中按列选取绝对值最大的值作为主元素,然后交换所在行与主元素所在行的位置,再按顺序消去法进行消元。四丶主要代码:4.1 Gauss消去法主要代码function x=hanxiaogu (A,b)n=length(b);for i= 1:n-1 for k= i+1:n for j= i+1:n if abs (A(i,i)<10(-6) warning('分母为零不能计算!'); return;

4、 else A(k,j)= A(k,j)-A(i,j)*A(k,i)/A(i,i); end end b(k)=b(k)-b(i)*A(k,i)/A(i,i); A(k,i)=0; endend%回代求解x(n)=b(n)/A(n,n);for i=n-1:-1:1 sum=0; for j=i+1:n sum=sum+A(i,j)*x(j); end x(i)=(b(i)-sum)/A(i,i);endend4.2 Gauss选列主元消法主要代码function x=Gaussxiaoqumethod(A,b)%用高斯消去法解线性方程组A*x=b% x是未知量n=length(b);x=ze

5、ros(n,1);c=zeros(1,n);%寻找最大元t=0;for i=1:n-1max=abs(A(i,i);m=i;for j=i+1:n if max<abs(A(j,i) max=abs(A(j,i); m=j; endendif m=i for k=1:n c(k)=A(i,k); A(i,k)=A(m,k); A(m,k)=c(k); end t=b(i); b(i)=b(m); b(m)=t;endfor k=i+1:n for j=i+1:n A(k,j)=A(k,j)-A(i,j)*A(k,i)/A(i,i); end b(k)=b(k)-b(i)*A(k,i)/A

6、(i,i); A(k,i)=0;endend%回带过程x(n)=b(n)/A(n,n);for i=n-1:-1:1 sum=0; for j=i+1:n sum=sum+A(i,j)*x(j); end x(i)=(b(i)-sum)/A(i,i);endend五丶结果显示:5.1 Gauss消去法和Gauss主元消去法结果相同显示结果:A = 4096 1234 3678 2943 2246 3872 4015 1129 3645 1926 3781 643 1784 4002 2786 3927b = 4063 1550 4240 -2557x=hanxiaogu (A,b)x = -0

7、.1818 -1.66942.2226-0.4440六丶结果验证A*x=4063.3384 1550.2234 4240.2332 2556.6944这说明Gauss消去法和Gauss主元消去法的计算精度是相当高的。但是如果系数矩阵A是奇异矩阵,就会出错。七丶设计总结列主元消元法和Gauss消元法的计算过程基本上是一样的,只是在每一次消元前要选取系数矩阵的列主元,然后把方程组做适当的行交换再进行消元运算,这就保证了舍入误差不扩散。列主元消元法克服了顺序Gauss消元的缺点,运算量也没有全主元消元法那么大,因此是解线性方程组的一种比较实用而且简单的方法。 实验二:Gauss-Seidol迭代法线

8、性方程组一概述:1.1 设计说明:Guass-Seidol迭代法1.2 设计目的:深入学习和掌握Gauss-Seidol迭代法解线性方程组,会使用Matlab软件,回编写程序,并使用程序带入数据,计算出结果。二丶算法内容:编写程序,并使用Matlab程序运行程序,计算出结果三丶设计过程3.1 Gauss-Seidol迭代法3.1.1 迭代法的实现:根据迭代法的原理,编写Matlab程序,并运行,然后带入数据算出结果。3.1.2 Gauss-Seidol迭代法的原理:线性方程组 Ax=b A=(aij)n×n非奇异,b=bbo.将Ax=b变换成映射形式的同解组 x=Gx+f由此构造迭代

9、公式 x(k)=Gx(k-1)+f对取定的初值向量想x(0),取得极限 x*=Gx*+f从而x*为A*x=b的解,当k充分大的时候x*=x(k).四丶主要代码:function x=naspgs(A,b,x0,e,N)%用途:用向量(稀疏存储)形式的Gauss-Seidel迭代解线性方程组Ax=b%格式:x=naspgs(A,b,x0,e,N) A为系数矩阵,b为右端向量,x返回解向% 量,x0为初值向量(默认原点),e为精确度(默认1e-4),设置迭代次数上限% 以防发散(默认500)n=length(b);if nargin<5,N=500;endif nargin<3,e=1

10、e-4,endif nargin<2,x0=zeros(n,1);endx0=sparse(x0);b=sparse(b);A=sparse(A);%使用稀疏矩阵存储x=x0;x0=x+2*e;x0=sparse(x0);k=0;A1=tril(A);iA1=inv(A1);while norm(x0-x,inf)>e&k<N, k=k+1; x0=x;x=-iA1*(A-A1)*x0+iA1*b;endx=full(x);if k=N,warning('已达迭代次数上线');endend五丶结果显示A=17.031,-0.615,-2.991,1.0

11、07,-1.006,0.000; -1.000,34.211,-1.000,-2.100,0.300,-1.700; 0.000,0.500,13.000,-0.500,1.000,-1.500; 4.501,3.110,-3.907,-61.705,12.170,8.999; 0.101,-8.012,-0.017,-0.910,4.918,0.100; 1.000,2.000,3.000,4.500,5.000,21.803b=0.230,-52.322,54.000,240.236,29.304,-117.818'e=10(-6)x0=0 0 0 0 0 0 'N=500x=naspgs(A,b,x0,e,N)x =0.9071 -1.9618 3.2937 -4.5007 2.0293 -5.2551 '六丶结果验证:A*x=0.2301897 -52.3220098 53.9995 241.1419028 29.3037902 117.8189953这说明Gauss-Seidol迭代法的精确度比较高,但是奇异矩阵还是会出错的。七丶设计总结直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3数量级,存储量为n2量级,这在n比较小的时候还比较合适,但是对于现在的很多实际问题,往往要我们求解很大的n的矩阵,而且这些矩阵往往是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论