logo资料库

东北大学数值分析实验报告1.doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
数值分析实践报告 姓 班 名 级 开 设 学 期 开 设 时 间 报 告 日 期 评 定 成 绩 学 号 指 导 教 师 评 定 人 评 定 日 期 东北大学软件学院
实验一: 1. 实验目的 1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较; 2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序; 3、体会上机计算时,终止步骤<或 k>(予给的迭代次数),对迭代法敛散性的意义; 4、体会初始解 x,松弛因子的选取,对计算结果的影响。 2. 实验环境 使用平台:Microsoft Visual C++ 使用语言:C++ 3. 实验关键代码 (1) 存放系数矩阵 double **A=new double*[n]; for(i=0;i>A[i][j]; (2) 迭代算法 void Diedai(int n,double **A,double b[],double e,double w,double X[]){ int i,j,flag; double *t=new double[n]; double *Y=new double[n]; double *X_T=new double[n]; cout<<"矩阵为:"<
flag=0; for(i=0;i
因子为 0.45 时,需要迭代 17 次; 因子为 0.75 时,需要迭代 10 次; 因子为 1.0 时,需要迭代 6 次; 3
因子为 1.25 时,需要迭代 6 次; 因子为 1.5 时,需要迭代 32 次; 因子为 1.75 时,需要迭代超过 2000 次。 超松弛迭代法收敛速度的快慢与松弛因子的选择有密切关系,迭代次数随着超松弛因子增加 先减少再增加。 4
实验二: 1. 实验目的 1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较; 2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序; 3、体会上机计算时,终止步骤<或 k>(予给的迭代次数),对迭代法敛散性的意义; 4、体会初始解 x,松弛因子的选取,对计算结果的影响。 2. 实验环境 使用平台:Microsoft Visual C++ 使用语言:C++ 3. 实验关键代码 (1) 系数矩阵的定义 cout<<"<<请输入矩阵的规格(?X?)>>:"; cin>>matrixNum; matrixA=allocMem(matrixNum*matrixNum); matrixD=allocMem(matrixNum*matrixNum); matrixL=allocMem(matrixNum*matrixNum); matrixU=allocMem(matrixNum*matrixNum); B=allocMem(matrixNum*matrixNum); f=allocMem(matrixNum); x=allocMem(matrixNum); 5
xk=allocMem(matrixNum); b=allocMem(matrixNum); cout<>: "<>*(matrixA+i*matrixNum+j); } (2)高斯列主元素消去法 void GaussLineMain(double* A,double* x,double* b,int num) { int i,j,k; for(i=0;ifabs(lineMax)) lineI=j; for(j=i;j
for(i=num-1;i>=0;i--){ for(j=num-1;j>i;j--) *(b+i)-=*(A+i*num+j)*(*(x+j)); *(x+i)=*(b+i)/(*(A+i*num+i)); } } (3)雅可比迭代算法 void Jacobi(double* x,double* xk,double* B,double* f,int num,int time) { int t=1,i,j; while(t<=time){ for(i=0;i
分享到:
收藏