预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

西京学院数学软件实验任务书 课程名称数学软件实验班级数学0901学号0912020112姓名***实验课题线性方程组高斯消去法,高斯列主元消去法,高斯全主元消去法实验目的熟悉线性代数方程组高斯消去法,高斯列主元消去法,高斯全主元消去法实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容线性方程组高斯消去法 线性方程组高斯列主元消去法 线性方程组高斯全主元消去法成绩教师 实验报告 实验名称:Guass消元法编程求解线性方程 实验目的:进一步熟悉理解Guass消元法解法思路 学习matlab编程 实验要求: 已知:线性方程矩阵 输出:线性方程组的解 程序流程: 输入矩阵 调用函数求解矩阵 输出方程组的解 实验原理: 消元过程: 设,令乘数,做(消去第i个方程组的)操作×第1个方程+第i个方程(i=2,3,.....n) 则第i个方程变为 这样消去第2,3,…,n个方程的变元后。原线性方程组变为 这样就完成了第1步消元。 对线性方程组中有第2,3,.。。。N个方程组成的n—1元线性方程组做同样的处理,消去其除第一个方程组之外的所有变元,可得到 依次类推,当做到n-1步消元后,就完成了Guass消元过程,得到上三角方程组 实验内容:利用Guass消元操作的原理,求解线性方程组 回代过程: 在最后的一方程中解出,得: 再将的值代入倒数第二个方程,解出,依次往上反推,即可求出方程组的解: 其通项为 流程图如下: 开始 输入矩阵 否 判断是否唯一解 是 运用Guass消元法求解 输出结果 程序如下: function[AXY]=togglebutton3_Callback(hObject,eventdata,handles) %hObjecthandletotogglebutton3(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB %handlesstructurewithhandlesanduserdata(seeGUIDATA) [filename,pathname]=uigetfile('.txt','打开系数矩阵数据文件'); filepath=strcat(pathname,filename); A=load(filepath) if~isempty(filepath) A=load(filepath); X=A(:,1)'; Y=A(:,2)'; handles.A=A; handles.X=X; handles.Y=Y; guidata(hObject,handles); else msgbox('打开文件失败','对话框','warn'); end A1=A set(handles.text1,'string',A1) [n,m]=size(A); b=A(1:n,m); dataA1=A(:,1:n); y=inv(dataA1)*b;%matlab的计算结果 n=length(b);%方程个数n x=zeros(n,1);%未知向量] %判断是否非奇异 fori=1:n ifdet(dataA1(1:i,1:i))==0 msgbox('矩阵输入有误,请修改','对话框','warn'); exit; end end %-------------消去----------- fork=1:n-1 ifA(k,k)==0; T=A(k,:); A(k,:)=A(k+1,:); A(k+1,:)=T; break end fori=k+1:n %A(i,k)=A(i,k)/A(k,k); Aik=A(i,k)/A(k,k); forj=k:n A(i,j)=A(i,j)-Aik*A(k,j); end A; b(i)=b(i)-Aik*b(k); end end %-------------回代----------- x(n)=b(n)/A(n,n); fork=n-1:-1:1 S=b(k); forj=k+1:n S=S-A(k,j)*x(j); end x(k)=S/A(k,k); end x%程序的计算结果 调试 输入数据:3-5650-2-3811 11-9151-922 2-175-161129 -11327-1-29 431-72115 29-811-1-4-18 72-127-1925 输出结果: x= -1.7853 2.2529 0.6746 0.0746 1.2013 0.0337 2.7934