C++編写数值分析程序.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C編写数值分析程序

高斯消去法; #include iostream using namespace std; template class T T** Allocation2D(int m, int n) { T **a; a = new T*[m]; for (int i=0; im; i++) { a[i] = new T[n]; } return a; } int main() { int i,j,k; int n; float** a; cout输入系数矩阵的N值,N:; cinn; a = Allocation2Dfloat(n, n+1); coutendl输入增广矩阵的各值:/n; for(i=0; in; i++) { for(j=0; jn+1; j++) { cina[i][j]; } } for(k=0; kn-1; k++) { for(i=k+1; in; i++) { for(j=k+1; jn+1; j++) { a[i][j] = a[i][j] - a[i][k] * a[k][j] / a[k][k]; } } } float temp; a[n-1][n] = a[n-1][n] / a[n-1][n-1]; for(k=n-2; k=0; k--) { temp = 0; for(j=k+1; jn; j++) { temp = temp + a[k][j] * a[j][n]; } a[k][n] = (a[k][n] - temp) / a[k][k]; } for(i=0; in; i++) { coutxi: a[i][n]endl; } return 0; } 拉格朗日插值法 #includeiostream #includemath.h #define N 3 using namespace std; double fun(double *x,double *y, int n,double p); void main() { int i; double a[N],p; double b[N]; coutplease input xiangliang a= endl; for(i=0;iN;i++) {cina[i];} coutplease input xiangliang b= endl; for(i=0;iN;i++) {cinb[i];} coutplease input LagelangrichazhiJieDian p= endl; cinp; coutThe Answer= fun(a,b,N,p)endl; } double fun(double x[],double y[], int n,double p) { double z=0,s=1.0; int k,i=0; double L[N]; k=0; while(kn) { if(k==0) { for(i=1;in;i++) { s=s*(p-x[i])/(x[0]-x[i]); } L[0]=s*y[0]; k=k+1; } else { s=1.0; for(i=0;i=k-1;i++) { s=s*((p-x[i])/(x[k]-x[i])); } for(i=k+1;in;i++) { s=s*((p-x[i])/(x[k]-x[i])); } L[k]=s*y[k]; k++; } } for(i=0;in;i++) { z=z+L[i]; } return z; } Newton插值法; #include iostream.h #include math.h void main() { char L; do { double M[100][100]; double x[100],y[100]; double X=1,xx=0,w=1,N=0,P,R=1; int n; cout请输入所求均差阶数:; cinn; for(int i=0;i=n;i++) { cout请输入xi的值:endl; cinx[i]; cout请输入yi的值:endl;

文档评论(0)

sd47f8cI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档