电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数值分析算法C语言程序

数值分析算法C语言程序_第1页
1/12
数值分析算法C语言程序_第2页
2/12
数值分析算法C语言程序_第3页
3/12
一、 拉格朗日插值 #include #include #include 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 #include #include 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; } void main() { float x; printf("输入插值点:"); scanf("%f",&x); ND(x); } 三、 埃尔米特插值 #include #include #include void Hermite(float s) { double x[3]={0.25,1,2.25},y[3]={0.125,1,3.375},z[3]={0.75,1.5,2.25}; double H=0.0,a,b,f,g; int i,j; for (i=0;i<3;i++) { f=1.0;g=0.0; for (j=0;j<3&&j!=i;j++) {f=f*(s-x[j])/(x[i]-x[j]);g=g+1/(x[i]-x[j]);} a=(1-2*(s-x[i])*g)*f*f;b=(s-x[i])*f*f; H=H+y[i]*a+z[i]*b; } printf("%f\n",H); } void main() { float x; printf("输入插值点:"); scanf("%f",&x); Hermite(x); } 四、 三次样条插值 #include #include #include void main() { int N=7,R=2,i,k; double p1,p2,p3,p4; double x[8]={0.5,0.7,0.9,1.1,1.3,1.5,1.7,1.9}; double y[8]={0.4794,0.6442,0.7833,0.8912,0.9636,0.9975,0.9917,0.9463}; double P0=-0.4794,Pn=-0.9463,u[3]={0.6,0.8,1.2},s[3]; double h[7],a[8],c[7], g[8],af[8],ba[7],m[8]; for(k=0;k

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数值分析算法C语言程序

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群