文档介绍:数值分析上机实验报告院系:XXX学号:XXX姓名:--Jordan消去法Gass-Jordan消去法求解线性方程组的基本思想是将系数矩阵化为对角矩阵,这样可以直接得到方程组的解x1,x2…xn,因此也称为无回代消去法。例:用列主元Gass-Jordan消去法求解方程组:2x1+1x2+x3=55x1-1x2+1x3=81x1-3x2-4x3=-4编写Gau_Jor函数来实现求解:function[x,flag]=Gau_Jor(A,b%求线性方程组的列主元Gauss-Jordan消去法%A为方程组的系数矩阵;%b为方程组的右端项;%x为方程组的解;%flag为指标向量,flag='failure'表示计算失败,flag='OK'表示计算成功。[n,m]=size(A;nb=length(b;%当方程组行与列的维数不相等时,停止计算,并输出出错信息ifn~=merror('TherowsandcolumnsofmatrixAmustbeequal!';return;end%当方程组与右端项的维数不匹配时,停止计算,并输出出错信息ifm~=nberror('ThecolumnsofAmustbeequalthelengthofb!';return;end%开始计算,先赋初值flag='OK';x=zeros(n,1;fork=1:n%选主元max1=0;fori=k:nifabs(A(i,k>max1max1=abs(A(i,k;r=i;endendifmax1<1e-10falg='failure';return;end%交换两行ifr>kforj=k:nz=A(k,j;A(k,j=A(r,j;A(r,j=z;endz=b(k;b(k=b(r;b(r=z;end%消元计算b(k=b(k/A(k,k;forj=k+1:nA(k,j=A(k,j/A(k,k;endfori=1:nifi~=kforj=k+1:nA(i,j=A(i,j-A(i,k*A(k,j;endb(i=b(i-A(i,k*b(k;endendend%输出xfori=1:nx(i=b(i;end在命令窗口输入:clearA=[212;5-11;1-3-4];b=[58-4];x=Gau_Jor(A,b运行程序,输出如下:x=-=b时,一般当A为低阶稠密矩阵时,用主元消去法求解是常用方法。但是,对于由工程技术中产生的大型稀疏矩阵方程组(A阶数很高,但零元素较多,例如求某些偏微分方程数值解所产生的线性方程组,利用迭代法求解此方程组就是合适的,在计算机内存和运算两方面,迭代法通常都可利用A中有大量零元素的特点。雅克比迭代法就是众多迭代法中比较早且较简单的一种。例:用雅克比迭代法求解方程组:10x1-x2=9-x1+10x2-2x3=7-2x1+10x2=6编写jacobi函数来实现求解:functionx=jacobi(A,b,P,delta,n%A为n维非奇异阵;b为n维值向量%P为初值;delta为误差界;n为给定的迭代最高次数N=length(b;fork=1:nforj=1:Nx(j=(b(j-A(j,[1:j-1,j+1:N]*P([1:j-1,j+1:N]/A(j,j;enderr=abs(norm(x'-P;P=x';if(errbreak;endendPx=x';k,err在命令窗口输入:clearA=[10-10;-110-2;0-210];b=[976]';P=[000]';%给出初值x=jacobi(A,b,P,1e-4,20运行程序,输出如下:P==8err=-005x=:已知使用Lagrange多项式插值法计算并给出插值多项式。编写Lagrange函数来实现求解:functions=Lagrange(x,y,x0%%x为数据点的x坐标向量%y为数据点的y坐标向量%x0为插值的x坐标%s为求得的拉格朗日插值多项式或在x0处的插值symsp;n=length(x;%读取x向量维数s=0;for(k=1:nla=y(k;for(j=1:k-1la=la*(p-x(j/(x(k-x(j;end;for(j=k+1:nla=la*(p-x(j/(x(k-x(j;end;s=s+la;simplify(s;end%对输入参数个数做判断,如果