最小二乘法-(C语言).doc

最小二乘法-(C语言).doc

ID:57652090

大小:32.00 KB

页数:6页

时间:2020-08-30

最小二乘法-(C语言).doc_第1页
最小二乘法-(C语言).doc_第2页
最小二乘法-(C语言).doc_第3页
最小二乘法-(C语言).doc_第4页
最小二乘法-(C语言).doc_第5页
资源描述:

《最小二乘法-(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include////////////////////////////////////////////////////////////////////////////////////////////矩阵结构体structMatrix{ intm,n;//m为行数,n为列数 double**pm;//指向矩阵二维数组的指针};//初始化矩阵mt,并置矩阵的行为m,列为nvoidInitMatrix(structMatrix*mt,intm,intn){ 

2、inti; //指定矩阵的行和列 mt->m=m; mt->n=n; //为矩阵分配内存 mt->pm=newdouble*[m]; for(i=0;ipm[i]=newdouble[n]; }}//用0初始化矩阵mt,并置矩阵的行为m,列为nvoidInitMatrix0(structMatrix*mt,intm,intn){ inti,j;   InitMatrix(mt,m,n); for(i=0;ipm[i]

3、[j]=0.0;}//销毁矩阵mtvoidDestroyMatrix(structMatrix*mt){ inti; //释放矩阵内存 for(i=0;im;i++) {  delete[]mt->pm[i]; } delete[]mt->pm;}//矩阵相乘mt3=mt1*mt2//成功返回1,失败返回0intMatrixMul(Matrix*mt1,Matrix*mt2,Matrix*mt3){ inti,j,k; doubles; //检查行列号是否匹配 if(mt1->n!=mt2->

4、m

5、

6、mt1->m!=mt3->m

7、

8、mt2->n!=mt3->n)return0; for(i=0;im;i++)  for(j=0;jn;j++)  {           s=0.0;   for(k=0;kn;k++)s=s+mt1->pm[i][k]*mt2->pm[k][j];   mt3->pm[i][j]=s;  }  return1;}//矩阵转置mt2=T(mt1)//成功返回1,失败返回0intMatrixTran(Matrix*mt1,Matr

9、ix*mt2){ inti,j; //检查行列号是否匹配 if(mt1->m!=mt2->n

10、

11、mt1->n!=mt2->m)return0; for(i=0;im;i++)  for(j=0;jn;j++)mt2->pm[j][i]=mt1->pm[i][j];  return1;}//控制台显示矩阵mtvoidConsoleShowMatrix(Matrix*mt){ inti,j; for(i=0;im;i++) {  printf("");  for(j=0

12、;jn;j++)printf("%2.4f",mt->pm[i][j]); } printf("");}////////////////////////////////////////////////////////////////////////////////////////////Guass列主元素消元法求解方程Ax=b,a=(A,b)intGuassl(double**a,double*x,intn){ inti,j,k,numl,*h,t;   double*l,max; l=n

13、ewdouble[n]; h=newint[n]; for(i=0;imax)   {    numl=h[j];    max=fabs(a[h[j]][i-1]);   }  }  if(max<0.00000000001)return0; 

14、 //交换行号  if(numl>i-1)  {   t=h[i];   h[i]=h[numl];   h[numl]=t;  }  for(j=i;j=0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。