重要的算法C语言实现源代码.doc

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

10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 (转) 1.拉格朗日插值多项式?,用于离散数据的拟合? ?C/C++?code#include?stdio.h ??#include?conio.h ??#include?alloc.h ??float?lagrange(float?*x,float?*y,float?xx,int?n)?????/*拉格朗日插值算法*/ ??{?int?i,j; ????float?*a,yy=0.0;????/*a作为临时变量,记录拉格朗日插值多项式*/ ????a=(float?*)malloc(n*sizeof(float)); ????for(i=0;i=n-1;i++) ????{?a[i]=y[i]; ??????for(j=0;j=n-1;j++) ??????if(j!=i)?a[i]*=(xx-x[j])/(x[i]-x[j]); ??????yy+=a[i]; ????} ??free(a); ??return?yy; ?} ?main() ?{?int?i,n; ??float?x[20],y[20],xx,yy; ??printf(Input?n:); ??scanf(%d,n); ??if(n=20)?{printf(Error!The?value?of?n?must?in?(0,20).);?getch();return?1;} ??if(n=0)?{printf(Error!?The?value?of?n?must?in?(0,20).);?getch();?return?1;} ??for(i=0;i=n-1;i++) ??{?printf(x[%d]:,i); ?????scanf(%f,x[i]); ??} ??printf(\n); ??for(i=0;i=n-1;i++) ??{?printf(y[%d]:,i);scanf(%f,y[i]);} ??printf(\n); ??printf(Input?xx:); ??scanf(%f,xx); ??yy=lagrange(x,y,xx,n); ??printf(x=%f,y=%f\n,xx,yy); ??getch(); ?} ? ?2.牛顿插值多项式,用于离散数据的拟合? ?C/C++?code#include?stdio.h ?#include?conio.h ?#include?alloc.h ?void?difference(float?*x,float?*y,int?n) ?{?float?*f; ??int?k,i; ??f=(float?*)malloc(n*sizeof(float)); ??for(k=1;k=n;k++) ??{?f[0]=y[k]; ?????for(i=0;ik;i++) ???????f[i+1]=(f[i]-y[i])/(x[k]-x[i]); ?????y[k]=f[k]; ??} ??return; ?} ?main() ?{?int?i,n; ??float?x[20],y[20],xx,yy; ??printf(Input?n:); ??scanf(%d,n); ??if(n=20)?{printf(Error!?The?value?of?n?must?in?(0,20).);?getch();?return?1;} ??if(n=0)?{printf(Error!?The?value?of?n?must?in?(0,20).);getch();?return?1;} ??for(i=0;i=n-1;i++) ??{?printf(x[%d]:,i); ?????scanf(%f,x[i]); ??} ????printf(\n); ??for(i=0;i=n-1;i++) ??{?printf(y[%d]:,i);scanf(%f,y[i]);} ??printf(\n); ??difference(x,(float?*)y,n); ??printf(Input?xx:); ??scanf(%f,xx); ??yy=y[20]; ??for(i=n-1;i=0;i--)?yy=yy*(xx-x[i])+y[i]; ??printf(NewtonInter(%f)=%f,xx,yy); ??getch(); ?} ? ?3.高斯列主元消去法,求解其次线性方程组? ?C/C++?code#includestdio.h ?#include?math.h ?#define?N?20 ?int?main() ?{?int?n,i,j,k; ??int?mi,tmp,mx; ??fl

文档评论(0)

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

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

1亿VIP精品文档

相关文档