资源描述:
《10个重要的算法c语言实现源代码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、10个重要的算法C语言实现源代码(一)拉格朗日插值多项式#include #include #include floatlagrange(float*x,float*y,floatxx,intn) {inti,j; float*a,yy=0.0; 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])
2、; yy+=a[i]; } free(a); returnyy;}main(){inti,n; floatx[20],y[20],xx,yy; printf("Inputn:"); scanf("%d",&n); if(n>=20){printf("Error!Thevalueofnmustin(0,20).");getch();return1;} if(n<=0){printf("Error!Thevalueofnmustin(0,20).");getch();return1;} for(i=0;i<=n-1;i++) {printf("x[%d]:",i);
3、 scanf("%f",&x[i]); } printf(""); for(i=0;i<=n-1;i++) {printf("y[%d]:",i);scanf("%f",&y[i]);} printf(""); printf("Inputxx:"); scanf("%f",&xx); yy=lagrange(x,y,xx,n); printf("x=%f,y=%f",xx,yy); getch();}(二)牛顿插值多项式#include#include#includevoiddifference(float*
4、x,float*y,intn){float*f; intk,i; f=(float*)malloc(n*sizeof(float)); for(k=1;k<=n;k++) {f[0]=y[k]; for(i=0;i=20){printf("Error!Thevalueofnmusti
5、n(0,20).");getch();return1;} if(n<=0){printf("Error!Thevalueofnmustin(0,20).");getch();return1;} for(i=0;i<=n-1;i++) {printf("x[%d]:",i); scanf("%f",&x[i]); } printf(""); for(i=0;i<=n-1;i++) {printf("y[%d]:",i);scanf("%f",&y[i]);} printf(""); difference(x,(float*)y,n); printf("Input
6、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();}10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔www.firnow.com 时间:2008-06-05 作者:佚名 编辑:本站点击: 8718[评论](三)高斯列主元消去法:#include#include#defineN
7、20intmain(){intn,i,j,k; intmi,tmp,mx; floata[N][N],b[N],x[N]; printf("Inputn:"); scanf("%d",&n); if(n>N) {printf("Theinputnshouldin(0,N)!"); getch(); return1; } if(n<=0) {printf("Theinputnshouldin(0,N)!"); getch(); return1; } printf("Nowinputa(i,