📄 hermite.cpp
字号:
//*************************************
//程序功能:Hermite 插值法 求函数的值
//
//作 者:杭永东
//
//日 期: 2002.06.20
//*************************************
#include<stdio.h>
#include<math.h>
#define PI 3.1415926535897932384626L
main()
{
long double x[5]={0.0L,pi/6.0L,pi/4.0L,pi/3.0L,pi/2.0L};
long double f[5]={0.0L,0.5L,sqrt(2.0L)/2.0L,sqrt(3.0L)/2.0L,1.0L};
long double df[5]={1.0L,sqrt(3.0L)/2.0L,sqrt(2.0L)/2.0L,0.5L,0.0L};
long double sum,s,h=0,a,b,u=PI/12.0L;
for(int j=0;j<5;j++)
{ s=1;
sum=0;
for(int i=0;i<5;i++)
{
if(i!=j)
{
s*=((u-x[i])/(x[j]-x[i]));
sum+=1.0L/(x[j]-x[i]);
}
}
a=(1.0L+2.0L*(x[j]-u)*sum)*s*s;
b=(u-x[j])*s*s;
h+=a*f[j]+b*df[j];
}
printf("h=%1.9f\n",h);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -