资源描述:
《【精品】数值分析课设》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、目录实验一线性方程组数值解法1一、实验口的1二、实验基本原理1三、程序编写2四、实例分析3实验二插值法和数据拟合3一、实验目的3二、实验基本原理3三、程序编行5四、实例分析5实验三数值积分6一、实验目的6二、实验基本原理6三、程序编写7四、实例分析8实验四常微分方程数值解8一、实验目的9二、实验基木原理9三、程序编写10四、实例分析10实验五数值方法实际应用11一、实验目的11二、实验内容11三、实验基本原理11四、实例分析12实验一线性方程组数值解法一、实验目的[1]了解LU分解法的基本原理和方法;[2]通过实例掌握用M
2、ATLAB求线性方程组数值解的方法;[3]编程实现LU分解二、实验基本原理2.1LU分解法对于矩阵A,若存在一个单位下三角矩阵L和一个上三角U,使得A=LUa\a2.…a_1・U\U2.…U(1.1)即a2[a22…a2n•••••••••—/211•••••••••如2…U2n••••••_an%…ann_//-1L%1ln2丄」(1・2)称上述分解为矩阵A的LU分解,或Doolittle分解,也称为直接三角分解。在式(1.2)屮,利用矩阵L的第一行与矩阵U的各列相乘,可以得到矩阵U的第1行⑴二切j=l
3、,2,-..,,2(1.3)利用矩阵L的齐行与矩阵U的第1列相乘,得到矩阵L的第1列liX心2,3,…/(1.4)wn假设已确定岀矩阵U的第1行到第k-l行与矩阵L的第1列到第k-l列,现在來求矩阵U的第k行和L的第k列。利用式(1.2)中矩阵L的第k行与矩阵U的第j(j>k)列相乘,得到矩k-l阵U的第k行叫=叫一工IkqUqjj=k,k+',•••/(1.5)利用矩阵<7=1L的笫i(i>k)行与矩阵U的笫k列相乘,得到矩阵L的第k列«-1lik=(%-工1汕冰)/i=k+,k+2,・・・,n(1.6)显然,式(1.
4、5)和式(1.6)对于k=2,3,---,n都成立。若矩阵A有分解:A二LU,其屮L为单位下三角阵,U为上三角阵,贝I」称该分解为Doolittle分解,可以证明,当A的各阶顺序主子式均不为零时,Doolittle分解可以实现并且唯一。2.2.用矩阵的LU分解求解方程组由式(1・1),将方程组加"改写为L(Ux)=b则方程组求解可分成两部分完成。令y=Ux,则方程组可改写成方程组Ly=b和S=y由上式得到£一1儿=bk-Ylkjyj“1,2,…曲J=Iw=(儿一工r=宛,〃一1,…」j=k+三、程序编写2.1矩阵的LU分
5、解function[L,U,index]=LU_Decom(A)[n,m]二size(A);ifn^=merrorTherowsandcolumnsofmatrixAmustbeequal!,);return;endL二eye(n);U=zeros(n);index二1;fork二1:nforj二k:nz=0;forq=l:k~lz=z+L(k,q)*U(q,j);endU(k,j)=A(k,j)-z;endifabs(U(k,k))6、lz=z+L(i,q)*U(q,k);endL(i,k)=(A(i,k)-z)/U(k,k);endend3.2用矩阵的LU分解求解方程组function[x,y]=bxzylu(A,b)n=lcngth(A);[L,U,index]=LU_Decom(A);y二Lb;x二Uy四、实例分析用LU分解法求解方程组_25-6一10_413-19兀2—19-6-3-6兰3.-30解:先将矩阵A进行LU分解在Matlab中输入:»A二[25-6;413-19;-6-3-6];»[L,(J,index]=LU_Decom(A)得
7、到L二100210-341U=25-603-7004index二1index二1表明计算成功,得到相应的分解矩阵。用矩阵的LU分解求解方程组在Matlab中输入:»A二[25-6;413-19;-6-3-6];b二[1019-30]';»[x,y]=bxzylu(A,b)得到y=io-14x=321实验二插值法和数据拟合—、实验目的[1]了解lagrange插值法的基本原理和方法;[2]通过实例掌握用MATLAB求插值的方法;[3]编程实现lagrange插值实验基本原理已知n+1个互异的差值节点的函数值兀=/(兀)(7=
8、0」,・・・/),构造次数不超过n的多项式Ln(x)o令Ln(x)=y()/()+yxlA(x)4-•••+ynlH(x)=yklk(x)k=0(2・1)式中,人⑴伙=0,1,…/)是72次插值基函数,并且满足(2.2)由式(2.1)和式(2.2)可知,所得到的厶(x)满足插值条件Ln(x,)=>7-£