下载此文档

数值分析实验报告.doc


文档分类:高等教育 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
学生实验报告实验课程名称开课实验室学院年级专业班学生姓名学号开课时间至学年学期总成绩教师签名课程名称数值分析实验项目名称Gauss消元法实验项目类型验证演示综合设计其他指导教师成绩实验目的:(1)高斯列主元消去法求解线性方程组的过程(2)熟悉用迭代法求解线性方程组的过程(3)设计出相应的算法,编制相应的函数子程序实验内容分别用高斯列主元消元法和直接消元法求解线性方程组: 实验原理对于线性方程组(1)常记为矩阵形式(2)根据高等代数的知识,若,上式的解存在且唯一。Gauss直接消元法考虑上述线性方程组的增广矩阵,对增广矩阵进行行变换,将(2)式化为等价的三角形方阵,然后回代解之,这就是Gauss消元法。具体如下:消元①令;②对k=1到n-1,若,进行回代,若Gauss列主元消元法设列主元消元法已完成的第k-1()次消元,的到方程组在进行第k次消元前,先进行2个步骤:在至这一列内选出最大值,即,若,此时方程组无确定解,应给出退出信息。若,则交换第行和行,然后用Gauss消元法进行消元。MATLAB软件实现写出Gauss消元法和列主元消元法实现的MATLAB函数根据以上的算法,写出如下程序:%%%%%%%Gauss消元法%%%%%%%%%%%%functiony=Gauss1(A,b)[m,n]=size(A);%检查系数正确性ifm~=nerror('矩阵A的行数和列数必须相同');return;endifm~=size(b)error('b的大小必须和A的行数或A的列数相同');return;end%再检查方程是否存在唯一解ifrank(A)~=rank([A,b])error('A矩阵的秩和增广矩阵的秩不相同,方程不存在唯一解');return;end%这里采用增广矩阵行变换的方式求解c=n+1;A(:,c)=b;%%消元过程fork=1:n-1A(k+1:n,k:c)=A(k+1:n,k:c)-(A(k+1:n,k)/A(k,k))*A(k,k:c);end%%回代结果x=zeros(length(b),1);x(n)=A(n,c)/A(n,n);fork=n-1:-1:1x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k);end%显示计算结果%disp('x=');%disp(x);y=x;%%%%%%%%%%%%高斯列主元消元法求解线性方程组Ax=b%%%%%%%%%%%%%%%A为输入矩阵系数,b为方程组右端系数%方程组的解保存在x变量中functiony=Gauss_line(A,b)formatlong;%设置为长格式显示,显示15位小数[m,n]=size(A);%先检查系数正确性ifm~=nerror('矩阵A的行数和列数必须相同');return;endifm~=size(b)error('b的大小必须和A的行数或A的列数相同');return;end%再检查方程是否存在唯一解ifrank(A)~=rank([A,b])error('A矩阵的秩和增广矩阵的秩不相同,方程不存在唯一解');return;endc=n+1;A(:,c)=b;%(增广)fork=1:n-1[r,m]=max(abs(A(k:n,k)));%选主元m=m+k-1;%修正操作行的值if(A(m,k)~=0)if(m~=k)A([km],:)=A([mk],:);%换行endA(k+1:n,k:c)=A(k+1:n,k:c)-(A(k+1:n,k)/A(k,k))*A(k,k:c);%消去endendx=zeros(length(b),1);%回代求解x(n)=A(n,c)/A(n,n);fork=n-1:-1:1x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k);endy=x;formatshort;%设置为默认格式显示,显示5位建立MATLAB界面利用MATLAB的GUI建立如下界面求解线性方程组:详见程序。计算实例、数据、结果、分析下面我们对以上的结果进行测试,求解:输入数据后点击和,得到如下结果:更改以上数据进行测试,求解如下方程组:得到如下结果:实验中遇到的问题及解决办法在本实验中,遇到的问题主要有两个:如何将上述的Gauss消元法的算法在MATLAB中实现针对此问题我借鉴了网上以及课本上的算法的MATLAB实现的程序;如何将建立界面使得可以随意输入想要求解的相关矩阵后就可以直接求解针对此问题,我通过网上的一些关于MATLAB的GUI设计的相关资料,总结经验完成了此项任务。实验结论通过以上的测试,我们发现以上算法和程序能够求出线性方程组的比较精确解。参考文献[1]杨大地,:科学出版社[2]

数值分析实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxc6688
  • 文件大小454 KB
  • 时间2020-07-01