C语言课程设计曲线拟合最小二乘法.doc
《C语言课程设计曲线拟合最小二乘法.doc》由会员分享,可在线阅读,更多相关《C语言课程设计曲线拟合最小二乘法.doc(17页珍藏版)》请在三一办公上搜索。
1、数值分析上机实验报告姓 名学 号20093514班 级软件工程0908指 导 教 师实验名称曲线拟合最小二乘法 线性方程组迭代法开 设 学 期2010 2011第二学期评 定 成 绩评定人签字评 定 日 期课题三 解线性方程组的迭代法一 实验内容1、设线性方程组=x= ( 1, -1, 0, 1, 2, 0, 3, 1, -1, 2 ) 2、设对称正定阵系数阵线方程组= x = ( 1, -1, 0, 2, 1, -1, 0, 2 )3、三对角形线性方程组 = x= ( 2, 1, -3, 0, 1, -2, 3, 0, 1, -1 )试分别选用Jacobi 迭代法,Gauss-Seidol迭
2、代法和SOR方法计算其解。二 实验要求1、体会迭代法求解线性方程组,并能与消去法做以比较;2、分别对不同精度要求,由迭代次数体会该迭代法的收敛快慢;3、对方程组2,3使用SOR方法时,选取松弛因子=0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者;4、给出各种算法的设计程序和计算结果。三 目的和意义1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较;2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序;3、体会上机计算时,终止步骤(予给的迭代次数),对迭代法敛散性的意义;4、体会初始解 x,松弛因子的选取,对计算结果的影响。四
3、 流程图设计1.主要部分流程2.Jacobi 算法流程3.GS 算法流程图4.SOR算法流程五 结构程序设计#includeusing namespace std; #define N 40const int n=10;int jacobi(float *p,float b,float X,float x,int n);int GS(float *p,float b,float X,float x,int n);int SOR(float *p,float b,float X,float x,int n);void print(float *a,int r);void main()float
4、A1010=4,2,-3,-1,2,1,0,0,0,0,8,6,-5,-3,6,5,0,1,0,0,4,2,-2,-1,3,2,-1,1,9,4,0,-2,1,5,-1,3,-1,1,9,4,-4,2,6,-1,6,7,-3,3,2,3,8,6,-8,5,7,17,2,6,-3,5,0,2,-1,3,-4,2,5,3,0,1,16,10,-11,-9,17,34,2,-1,2,2,4,6,2,-7,13,9,2,0,12,4,0,0,-1,8,-3,-24,-8,6,3,-1;float a10=7,5,-13,2,6,-12,14,-4,5,-5;float X110=0,0,0,0,0,0
5、,0,0,0,0;float x110;float B88=4,2,-4,0,2,4,0,0,2,2,-1,-2,1,3,2,0,-4,-1,14,1,-8,-3,5,6,0,-2,1,6,-1,-4,-3,3,2,1,-8,-1,22,4,-10,-3,4,3,-3,-4,4,11,1,-4,0,2,5,-3,-10,1,14,2,0,0,6,3,-3,-4,2,19;float b8=0,-6,6,23,11,-22,-15,45;float X28=0,0,0,0,0,0,0,0;float x28;float C1010=4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0
6、,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4;float c10=7,5,-13,2,6,-12,14,-4,5,-5;float x310;float X310=0,0,0,0,0,0,0,0,0,0;float *p3;p0=&A00; p1=&B00;p2=&C00;
7、coutJacobi迭代法解第1个方程:endl;jacobi(p0,a,X1,x1,10); coutJacobi迭代法解第2个方程:endl;jacobi(p1,b,X2,x2,8); coutJacobi迭代法解第3个方程:endl;jacobi(p2,c,X3,x3,10); coutGauss-Seidel迭代法解第1个方程:endl;GS(p0,a,X1,x1,10);coutGauss-Seidel迭代法解第2个方程:endl;GS(p1,b,X2,x2,8); coutGauss-Seidel迭代法解第3个方程:endl;GS(p2,c,X3,x3,10);coutSOR迭代法
8、解第1个方程:endl;SOR(p0,a,X1,x1,10);coutSOR迭代法解第2个方程:endl;SOR(p1,b,X2,x2,8);coutSOR迭代法解第3个方程:endl;SOR(p2,c,X3,x3,10);int jacobi(float *p,float b,float X,float x,int n) int k,i,j;float m,R,r,e; coute;for(k=0;kN;k+)R=0;for(i=0;in;i+)m=0;for(j=0;jn;j+)m=m+(*(p+i*n+j)*Xj;xi=Xi+(bi-m)/(*(p+i*n+i);r=xi-Xi;if(r
9、R)R=r;if(R0) print(x,n);cout迭代次数为:k+1endl;return k;for(j=0;j10;j+)Xj=xj;print(x,n);cout迭代次数为:kendl;cout方程解发散,无法用Jacobi方法解此方程!endl; return 0;int GS(float *p,float b,float X,float x,int n) int i,j,k;float t,R,r,e;coute;for(k=0;kN;k+) for(i=0;in;i+) t=0;for(j=0;jn;j+) if(ji)t+=(*(p+i*n+j)*Xj;xi=(bi-t)/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 曲线拟合 最小二乘法

链接地址:https://www.31ppt.com/p-2384802.html