您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 计算方法实习报告96
计算方法上机实习报告一、课题名称:线性方程组求解的数值实验二、班级姓名:新能源科学与工程(9121086701),李旨敬(912108670122)三、摘要本次实验通过运用高斯消元法对线性方程组Ax=b进行求解,并对产生的现象进行讨论四、问题对从2到9的每一个n值,解n阶方程组Ax=b,在这里,A和b有如下定义:A=(aij)nxn,b=(b1,b2,……bn)Taij=(i+j-1),bi=p(n+i-1)-p(i-1)其中,p(x)=𝑥224(2+x2{-7+n2[14+n(12+3n)]}),解释发生的现象。五、数学模型Gauss消去法是将方程组Ax=b,化为等价的三角方程组,再回代逐次求解的方法。设Ax=b,AnnR,如果),...,2,1(,0)(nkakkk,则可通过Gauss消去法将Ax=b约化为等价的上三角形方程组)()2(2)1(121)()2(2)2(22)1(1)1(12)1(11nnnnnnnnbbbxxxaaaaaa第一步:消元化上三角计算(k=1,2,…,n)nkiambbnkjiamaankiaamkkikkikikkjikkijkijkknkikik,,1,,1,,1)()()1()()()1()()((b)回代求解计算:nijiiijiiijiiinnnnnnniaxabxabx1)()()()()(1,2,,1六、程序结构流程图七、符号意义标志符数学符号类型形式作用nN整型1方程组的阶数aA双精度NxN原系数矩阵uU双精度NxN消元后的系数矩阵bB双精度N方程组的右端常数项fF双精度N消元后的常数项xX双精度N方程组的解八、程序代码PrivateSubCommand1_Click()List1.ClearList2.ClearList3.Clear求解A矩阵,b矩阵高斯消元过程,求上三角矩阵回代求解过程得出X矩阵DimnAsInteger,iAsInteger,jAsInteger,i_tem1AsString,i_tem2AsString,i_tem3AsString,kAsIntegerDima()AsDouble,b()AsDouble,x()AsDouble,m()AsDoublen=Combo1.List(Combo1.ListIndex)ReDima(1Ton,1Ton),b(1Ton),x(1Ton),m(1Ton,1Ton)Fori=1Toni_tem1=b(i)=p(n+i-1)-p(i-1)‘得出b矩阵i_tem2=Format(b(i),0.0000)Forj=1Tona(i,j)=1/(i+j-1)‘得出A矩阵i_tem1=i_tem1&Space(4)&Format(a(i,j),0.0000)NextList1.AddItemi_tem1List1.AddItemList2.AddItemi_tem2List2.AddItemNext‘此循环用于求出A,b矩阵,并显示在list列表Fork=1Ton-1Fori=k+1Tonm(i,k)=a(i,k)/a(k,k)Forj=kTona(i,j)=a(i,j)-m(i,k)*a(k,j)‘得出高斯消元后的U矩阵Nextb(i)=b(i)-b(k)*m(i,k)‘得出高斯消元后的b矩阵NextNext‘此循环用于求出高斯消元后的U矩阵,b矩阵,并显示在list列表x(n)=b(n)/a(n,n)‘求解Xn,用于下一步的回代过程DimsumAsDoubleFori=n-1To1Step-1sum=0Fork=i+1TonStep1sum=sum+a(i,k)*x(k)Nextx(i)=(b(i)-sum)/a(i,i)Next‘利用U,b,回代求解Xn矩阵Fori=1Toni_tem3=x(i)List3.AddItemi_tem3List3.AddItemNextEndSubPrivateSubForm_Load()Combo1.ListIndex=0EndSubFunctionp(xAsInteger)AsSinglen=Combo1.List(Combo1.ListIndex)p=x*x*(2+x*x*(-7+n*n*(14+n*(12+3*n))))/24EndFunction九、实验结果以n=2,5,9的结果展示如下十、结果讨论在这次实验中,我第一次是使用MATLAB进行计算,后改成用VB求解,并用MATLAB进行验证计算,在此过程中,MATLAB并没有对结果进行病态报告,因此最终的求解应该是比较合适的,至于原因,按求解后显示的数据来看,应是由于b(n)的定义对误差有一定的控制作用。
本文标题:计算方法实习报告96
链接地址:https://www.777doc.com/doc-2041766 .html