|
楼主 |
发表于 2005-1-19 23:06:41
|
显示全部楼层
//////////////////////////////////////////////////////////////
//一元全区间不等距插值,
//利用七次(两边为四次)拉格朗日插值多项式计算插值点t的函数值
//x-长度为n的数组,存放n个节点xi,要求增序
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值x
double enlgr(double x[],double y[],int n,double t);
//////////////////////////////////////////////////////////////
//一元全区间等距插值
//利用七次(两边为四次)拉格朗日插值多项式计算插值点t的函数值
//x0-第一个节点x0
//h-等距节点的步长
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值 x
double eelgr(double x0,double h,int n,double y[],double t);
//////////////////////////////////////////////////////////////
//一元三点不等距插值
//利用抛物线插值公式计算指定插值点t的函数值
//x-长度为n的数组,存放n个不等距节点xi,要求增序
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值x
double enlg3(double x[],double y[],int n,double t);
//////////////////////////////////////////////////////////////
//一元三点等距插值
//利用抛物线插值公式计算指定插值点t的函数值
//x0-第一个节点x0
//h-等距节点的步长
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值 x
double eelg3(double x0,double h,int n,double y[],double t);
//////////////////////////////////////////////////////////////
//连分式不等距插值
//x-长度为n的数组,存放n个节点xi,要求增序
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值x
double enpqs(double x[],double y[],int n,double t);
//////////////////////////////////////////////////////////////
//连分式等距插值
//x0-第一个节点x0
//h-等距节点的步长
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值 x
double eepqs(double x0,double h,int n,double y[],double t);
//////////////////////////////////////////////////////////////
//埃尔米特(Hermite)不等距插值
//x-长度为n的数组,存放n个节点xi,要求增序
//y-长度为n的数组,存放n个节点yi
//dy-长度为n的数组,存放n个节点上的一阶导数值
//n-给定节点的个数
//t-存放指定插值点的值x
double enhmt(double x[],double y[],double dy[],int n,double t);
//////////////////////////////////////////////////////////////
//埃尔米特(Hermite)等距插值
//x0-第一个节点x0
//h-等距节点的步长
//y-长度为n的数组,存放n个节点yi
//dy-长度为n的数组,存放n个节点上的一阶导数值
//n-给定节点的个数
//t-存放指定插值点的值 x
double eehmt(double x0,double h,int n,double y[],double dy[],double t);
//////////////////////////////////////////////////////////////
//埃特金(Aitken)不等距逐步插值
//x-长度为n的数组,存放n个节点xi,要求增序
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值x
//eps-指定的精度要求
double enatk(double x[],double y[],int n,double t,double eps);
//////////////////////////////////////////////////////////////
//埃特金(Aitken)等距逐步插值
//x0-第一个节点x0
//h-等距节点的步长
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//t-存放指定插值点的值x
//eps-指定的精度要求
double eeatk(double x0,double h,int n,double y[],double t,double eps);
//////////////////////////////////////////////////////////////
//光滑不等距插值
//利用Akima方法
//x-长度为n的数组,存放n个节点xi,要求增序
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//k- k>=0时计算第 k 个子区间的三次多项式的系数s0,s1,s2,s3
// k<0 计算插值点 t 的函数值和第 k 个子区间的三次多项式的系数s0,s1,s2,s3
//t-存放指定插值点的值x, k>0时次参数无效,可以任取
//s-长度为5的数组,s[0]-s[3]返回三次多项式的系数,s[4]返回函数在t点的值
void enspl(double x[],double y[],int n,int k,double t,double s[5]);
//////////////////////////////////////////////////////////////
//光滑等距插值
//利用Akima方法
//x0-第一个节点x0
//h-等距节点的步长
//y-长度为n的数组,存放n个节点yi
//n-给定节点的个数
//k- k>=0时计算第 k 个子区间的三次多项式的系数s0,s1,s2,s3
// k<0 计算插值点 t 的函数值和第 k 个子区间的三次多项式的系数s0,s1,s2,s3
//t-存放指定插值点的值x, k>0时次参数无效,可以任取
//s-长度为5的数组,s[0]-s[3]返回三次多项式的系数,s[4]返回函数在t点的值
void eespl(double x0,double h,int n,double y[],int k,double t,double s[5]);
////////////////////////////////////////////////////////////// |
|