数值计算实验二.docx
- 文档编号:23847138
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:10
- 大小:212.87KB
数值计算实验二.docx
《数值计算实验二.docx》由会员分享,可在线阅读,更多相关《数值计算实验二.docx(10页珍藏版)》请在冰豆网上搜索。
数值计算实验二
附:
报告封面要求
计算方法C
(2014-2015-2)
【解线性方程组】实验报告
教学班级:
__软件4班_____
学号:
_2014112218_________
姓名:
______何华均_____
课程教师:
______________
实验二LU分解法的优点
实验目的:
掌握LU分解法的思想和方法。
实验题目:
给定矩阵A与向量b
1、求A的LU分解。
2、利用A的LU分解解下列方程组:
①Ax=b②A2x=b③A3x=b
对第③题分析一下,如果先求M=A3,在解Mx=b,有和缺点?
3、利用A的LU分解法求A-1,其中n由自己选择,例如取n=5、10。
提示:
A-1的第k列为方程组
之解,A-1的准确解为:
算法流程图如下:
源程序清单如下:
#include
#include
#include
classLUDec
{
public:
voidLU(double**A,intN,intM,double**L,double**U){
double**B=newdouble*[N];assert(B!
=NULL);
for(inti=0;i B[i]=newdouble[M]; assert(B[i]! =NULL); } //initL&UandB for(inti=0;i for(intj=0;j L[i][j]=0.0; } for(intj=0;j U[i][j]=0.0; B[i][j]=A[i][j]; } } //pleaseavoidabnormaldatahere for(inti=0;i if(fabs(B[i][i])<1e-9)continue; for(intj=i+1;j B[j][i]/=B[i][i]; for(intk=i+1;k B[j][k]-=B[j][i]*B[i][k]; } } for(inti=0;i L[i][i]=1.0; for(intj=0;j if(j L[i][j]=B[i][j]; else U[i][j]=B[i][j]; } } if(B){ for(inti=0;i delete[]B[i]; delete[]B;B=NULL; } } }; intmain() { LUDeccls; double**A=NULL,**L=NULL,**U=NULL; intN,M;scanf("%d%d",&N,&M);assert((N>0&&N<=M));//A: NxM A=newdouble*[N];assert(A! =NULL); for(inti=0;i A[i]=newdouble[M]; assert(A[i]! =NULL); } //makesurethatAcanbeLU-ed for(inti=0;i for(intj=0;j scanf("%lf",A[i]+j); } } L=newdouble*[N];assert(L! =NULL); for(inti=0;i L[i]=newdouble[N]; assert(L[i]! =NULL); } U=newdouble*[N];assert(U! =NULL); for(inti=0;i U[i]=newdouble[M]; assert(U[i]! =NULL); } cls.LU(A,N,M,L,U); printf("\nA=\n"); for(inti=0;i for(intj=0;j printf("%6.2lf",fabs(A[i][j])<0.005? 0: A[i][j]); printf("\n"); } printf("\nL=\n"); for(inti=0;i for(intj=0;j printf("%6.2lf",fabs(L[i][j])<0.005? 0: L[i][j]); printf("\n"); } printf("\nU=\n"); for(inti=0;i for(intj=0;j printf("%6.2lf",fabs(U[i][j])<0.005? 0: U[i][j]); printf("\n"); } if(A){ for(inti=0;i delete[]A[i]; delete[]A;A=NULL; } if(L){ for(inti=0;i delete[]L[i]; delete[]L;L=NULL; } if(U){ for(inti=0;i delete[]U[i]; delete[]U;U=NULL; } return0; } 运算结果如下: 2题: 3题: 结论如下: 通过运用两种方法求解方程组的解,以及所得的运行结果和对 其进行的分析可以看出,高斯列主元消去法比一般消去法多了一些比较运算,但是结果更稳定一些,该方法是目前首选的直接方法;利用矩阵的三角分解法求解方程组的条件是: 方程组的系数矩阵A的各阶顺序主子式均不为0,利用该方法求解方程组的解简单,易行,是一种合适的运算方法。 两种方法相比较来看各有优点,但当一方程同时可用该两种方法来求解时,使用三角分解法求解较为简便。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 计算 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)