数值分析 习题答案 陈丽娟 第5章_第1页
数值分析 习题答案 陈丽娟 第5章_第2页
数值分析 习题答案 陈丽娟 第5章_第3页
数值分析 习题答案 陈丽娟 第5章_第4页
数值分析 习题答案 陈丽娟 第5章_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题51..2.回代得。3.则。4..令得,得。5.1),,,。2)由解向量的精度的估计式:。6.设右端矩阵相乘并比较等式两端。由第一列有,可得。比较第二列有,求得,。由第三列得,故,由解得,由解得。7.。8.由得:令,由,得,再由,得。9.证明: 1)。2)。3)。其中是由下式得到 。10.。11.12.importnumpyasnp#列主元高斯消元法求解线性方程组defgaussian_elimination_2(A,b):n=len(b)AugmentedMatrix=np.hstack([A,b.reshape(-1,1)])x=np.zeros(n)foriinrange(n):#列主元消去:寻找主元max_row=np.argmax(np.abs(AugmentedMatrix[i:,i]))+iAugmentedMatrix[[i,max_row]]=AugmentedMatrix[[max_row,i]]#主元化:将主元变为1AugmentedMatrix[i]=AugmentedMatrix[i]/AugmentedMatrix[i,i]#将当前列其他元素消为0forjinrange(i+1,n):factor=AugmentedMatrix[j,i]AugmentedMatrix[j]-=factor*AugmentedMatrix[i]#回代foriinrange(n-1,-1,-1):x[i]=AugmentedMatrix[i,-1]-np.dot(AugmentedMatrix[i,i+1:n],x[i+1:])returnxdefgaussian_elimination(A,b):n=len(b)AugmentedMatrix=np.hstack([A,b.reshape(-1,1)])forcolinrange(n):pivot=AugmentedMatrix[col,col]AugmentedMatrix[col]=AugmentedMatrix[col]/pivotforrowinrange(col+1,n):factor=AugmentedMatrix[row,col]AugmentedMatrix[row]-=factor*AugmentedMatrix[col]x=np.zeros(n)foriinrange(n-1,-1,-1):x[i]=AugmentedMatrix[i,-1]-np.dot(AugmentedMatrix[i,i+1:n],x[i+1:])returnxdefgaus(A,b):n=A.shape[1]rank_A=np.linalg.matrix_rank(A)augmented_matrix=np.column_stack((A,b))rank_augmented=np.linalg.matrix_rank(augmented_matrix)ifrank_A!=rank_augmented:return"NoSolution",rank_A,rank_augmented,n,Noneelifrank_A==rank_augmentedandrank_A==n:x=gaussian_elimination(A,b)return"UniqueSolution",rank_A,rank_augmented,n,xelse:return"InfiniteSolutions",rank_A,rank_augmented,n,None#例子:解线性方程组AX=bA=np.array([[0.3*10**-15,59.14,3,1],[5.291,-6.13,-1,2],[11.2,9,5,2],[1,2,1,1]])b=np.array([59.17,46.78,1,2])#求解solution_type,rank_a,rank_ab,n,X=gaus(A,b)solution_2=gaussian_elimination_2(A,b)print("高斯消元法:",X)print("列主元高斯消元法:",solution_2)运行结果:高斯消元法:[32.-0.0816706132.-32.]列主元高斯消元法:[3.845714851.60951739-15.4760545410.4113049]13.importnumpyasnp#进行LU分解deflu_decomposition(A):n=A.shape[0]L=np.eye(n)U=np.copy(A)forkinrange(n-1):foriinrange(k+1,n):factor=U[i,k]/U[k,k]L[i,k]=factorU[i,k:]-=factor*U[k,k:]returnL,U#返回值分别对应下三角和上三角矩阵#例子:进行LU分解A=np.array([[0.001,2,3],[-1,3.712,4.623],[-2,1.072,5.643]])b=np.array([1,2,3])L,U=lu_decomposition(A)#利用Numpy库中的linalg.solve求解y=np.linalg.solve(L,b)x=np.linalg.solve(U,y)#打印输出结果print("方程组的解为:")print(x)运行结果:方程组的解为:[-0.49039646-0.051035180.36752025]14.#追赶法解三对角线性方程组defchase(a,b,c,f):N=len(f)x=[0]*Ny=[0]*Nd=[0]*Nu=[0]*Nd[0]=b[0]#追的过程foriinrange(N-1):u[i]=c[i]/d[i]d[i+1]=b[i+1]-a[i+1]*u[i]y[0]=f[0]/d[0]foriinrange(1,N):y[i]=(f[i]-a[i]*y[i-1])/d[i]#赶的过程x[N-1]=y[N-1]foriinrange(N-2,-1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论