数值分析 各个算法的C语言程序
一、 拉格朗日插值
#include<stdio.h> #include<stdlib.h> #include<math.h> void Lagrange(float s) {
double x[5]={0.2,0.4,0.6,0.8,1.0},y[5]={0.98,0.92,0.81,0.64,0.38},f,L=0; int i,j; for (i=0;i<5;i++) { f=1; for (j=0;j<5;j++) if(j!=i) f=(s-x[j])/(x[i]-x[j])*f; L+=f*y[i]; } printf("输出:%f\n",L); }
void main() { float x; printf("输入插值点:"); scanf("%f",&x); Lagrange(x);
}
二、 牛顿插值
#include<stdlib.h> #include<stdio.h> #include<math.h> int ND(float s) { double x[5]={0.2,0.4,0.6,0.8,1.0},y[5]={0.98,0.92,0.81,0.64,0.38},p=0,g,f; int i,j,k;
for (i=0;i<5;i++) {
for (j=4;j>i;j--) { f=x[j]-x[j-i-1];y[j]=(y[j]-y[j-1])/f;} g=y[i+1];
for (k=0;k<=i;k++) g=g*(s-x[k]); p=p+g; }
printf("输出插值点函数值:%f\n",p+y[0]); return 1; }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库数值分析 算法C语言程序在线全文阅读。
相关推荐: