计算方法--设计y=x^1/2,在x=100,121两点处的Newton和Lagrange的线性插值函数,并用此函数计算根号下115的近似值。

用直线近似的代替函数,成为线性插值。Lagrange的插值函数是两个基函数的组合,组合系数是对应点上的函数值。Newton的线性插值函数和均差的对称性有关。

程序如下:

#include <stdio.h>

#include <math.h>

int main()

{

    int x=115,x0=100,x1=121;

    double y,y0,y1,f,h;

    float l0,l1;

    y=sqrt(x);

    y0=sqrt(x0);

    y1=sqrt(x1);

    l0=(float)(x-x1)/(x0-x1);

    l1=(float)(x-x0)/(x1-x0);

    f=y0*l0+y1*l1;

    printf("Lagrange插值为:%f\n",f);

 

    h=y0+(x-x0)*((y0-y1)/(x0-x1));

    printf("Newton插值为:%f\n",h);

}

猜你喜欢

转载自blog.csdn.net/da_ye_zi/article/details/86515213