常用数值算法C/C++源码

  • B2_889847
    了解作者
  • 486.7KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-11 00:58
    上传日期
常用数值算法C源码 雅可比 最小二乘法 龙格-库塔算法 阿当姆斯预测 复化辛卜生公式 等10几种
常用数值算法C/C++源码.rar
  • Debug
  • vc60.pdb
    60KB
  • 高斯-赛德尔迭代法.pdb
    393KB
  • vc60.idb
    41KB
  • 高斯-赛德尔迭代法.obj
    7.4KB
  • 高斯-赛德尔迭代法.exe
    200.1KB
  • 雅可比迭代法
  • Debug
  • vc60.pdb
    60KB
  • vc60.idb
    41KB
  • 雅可比迭代法.pdb
    393KB
  • 雅可比迭代法.obj
    7.8KB
  • _desktop.ini
    8B
  • 雅可比迭代法.cpp
    1KB
  • 雅可比迭代法.ncb
    33KB
  • 雅可比迭代法.dsp
    3.4KB
  • 雅可比迭代法.dsw
    549B
  • _desktop.ini
    8B
  • 雅可比迭代法.plg
    1.3KB
  • 雅可比迭代法.opt
    47.5KB
  • 拉格郎日插值多项式
  • Debug
  • vc60.pdb
    60KB
  • 拉格郎日插值多项式.exe
    196.1KB
  • 拉格郎日插值多项式.pdb
    393KB
  • vc60.idb
    41KB
  • 拉格郎日插值多项式.obj
    7KB
  • _desktop.ini
    8B
  • 拉格郎日插值多项式.plg
    270B
  • 拉格郎日插值多项式.dsp
    3.5KB
  • 拉格郎日插值多项式.dsw
    561B
  • 拉格郎日插值多项式.cpp
    553B
  • 拉格郎日插值多项式.ncb
    41KB
  • _desktop.ini
    8B
  • 拉格郎日插值多项式.opt
    47.5KB
  • 最小二乘法
  • Debug
  • vc60.pdb
    60KB
  • 拉格郎日插值多项式.pdb
    385KB
  • vc60.idb
    41KB
  • 最小二乘法.obj
    9.7KB
  • 拉格郎日插值多项式.obj
    6.8KB
  • 最小二乘法.pdb
    393KB
  • _desktop.ini
    8B
  • 最小二乘法.ncb
    33KB
  • 最小二乘法.opt
    47.5KB
  • 最小二乘法.dsp
    3.4KB
  • 最小二乘法.cpp
    1.7KB
  • 最小二乘法.plg
    254B
  • _desktop.ini
    8B
  • 最小二乘法.dsw
    545B
  • 牛顿迭代法.cpp
    872B
  • 高斯-赛德尔迭代法.cpp
    768B
  • 龙贝格算法.cpp
    936B
  • 牛顿值多项式.cpp
    582B
  • 高斯-赛德尔迭代法.opt
    47.5KB
  • 二分法.cpp
    595B
  • 幂法.cpp
    901B
  • 列主元高斯消去法.cpp
    972B
  • 四阶阿当姆斯预测-校正公式.cpp
    1.1KB
  • 复化辛卜生公式.cpp
    586B
  • 自适应梯形公式(变步长).cpp
    671B
  • 龙格-库塔算法.cpp
    638B
  • 改进欧拉法.cpp
    514B
  • 高斯-赛德尔迭代法.dsp
    3.5KB
  • 高斯-赛德尔迭代法.ncb
    33KB
  • 高斯-赛德尔迭代法.dsw
    559B
  • 高斯-赛德尔迭代法.plg
    799B
内容介绍
#include<iostream.h> #include<math.h> void main() { int i; float *a; float x[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; float y[16]={4.00,6.40,8.00,8.80,9.22,9.50,9.70,9.86, 10.00,10.20,10.32,10.42,10.50,10.55,10.58,10.60}; float *Approx(float *,float *,int ,int ); a=Approx(x,y,16,2); for(i=0;i<=2;i++) cout<<"a["<<i<<"]="<<a[i]<<endl; } float *Approx(float *x,float *y,int m,int n) { float *c,*a; int i,j,t; float power(int ,float); float *ColPivot(float *,int ); c= new float[((n+1)*(n+2)*sizeof(float))]; for(i=0;i<=n;i++) { for (j=0;j<=n;j++) { *(c+i*(n+2)+j)=0.0; for(t=0;t<=m-1;t++) *(c+i*(n+2)+j)+=power(i+j,x[t]); } *(c+i*(n+2)+n+1)=0.0; for(j=0;j<=m-1;j++) *(c+i*(n+2)+n+1)+=y[j]*power(i,x[j]); } a=ColPivot((float *)c,n+1); return a; } float *ColPivot(float *a,int n) { int i,j,t,k; float *x,*c,p; x=new float[(n*sizeof(float))]; c=new float[(n*(n+1)*sizeof(float))]; for(i=0;i<=n-1;i++) for (j=0;j<=n;j++) *(c+i*(n+1)+j)=(*(a+i*(n+1)+j)); for(i=0;i<=n-2;i++) { k=i; for(j=i+1;j<=n-1;j++) if(fabs(*(c+j*(n+1)+i)) rel='nofollow' onclick='return false;'>(fabs(*(c+k*(n+1)+i)))) k=j; if(k!=j) for(j=i;j<=n;j++) { p=*(c+i*(n+1)+j); *(c+i*(n+1)+j)=*(c+k*(n+1)+j); *(c+k*(n+1)+j)=p; } for(j=i+1;j<=n-1;j++) { p=(*(c+j*(n+1)+i))/(*(c+i*(n+1)+i)); for(t=i;t<=n-1;t++) *(c+j*(n+1)+t)=*(c+j*(n+1)+t)-p*(*(c+i*(n+1)+t)); *(c+j*(n+1)+n)-=*(c+i*(n+1)+n)*p; } } for( i=n-1;i>=0;i-- ) { for( j=n-1;j>=i+1;j--) (*(c+i*(n+1)+n))-=x[j]*(*(c+i*(n+1)+j)); x[i]=*(c+i*(n+1)+n)/(*(c+i*(n+1)+i)); } delete[] c; return x; } float power(int i,float v) { float a=1.0; while(i--) a*=v; return a; }
评论
    相关推荐