8hmt.c

来自「给定n个节点xi[i=0,1,...,n-1]上的函数值yi=[xi]以及一届倒」· C语言 代码 · 共 30 行

C
30
字号

// x:存放给定n个节点的值。要求x0<x1<...<xn-1
// y:存放n个给定节点上的函数值y0,y1,...,yn-1
// dy:存放n个给定节点上的一届倒数值y0',y1',...,yn-1'
// n:给定节点的个数
// t:指定插值点
// 函数返回指定插值点t处的函数近似值z=f(t)


  double hmt(x,y,dy,n,t)
  int n;
  double t,x[],y[],dy[];
  { int i,j;
    double z,p,q,s;
    z=0.0;
    for (i=1;i<=n;i++)
      { s=1.0;
        for (j=1;j<=n;j++)
          if (j!=i) s=s*(t-x[j-1])/(x[i-1]-x[j-1]);
        s=s*s;
        p=0.0;
        for (j=1;j<=n;j++)
          if (j!=i) p=p+1.0/(x[i-1]-x[j-1]);
        q=y[i-1]+(t-x[i-1])*(dy[i-1]-2.0*y[i-1]*p);
        z=z+q*s;
      }
    return(z);
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?