⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lage.c

📁 c拉格朗日插值函数
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <malloc.h>double QIP(int n,double t,double *x,double *y){    int i,k;    double u,v,w,x0,x1,x2,f;    for(i=0;i<=n-4;i++)    {        if(t<=x[i+1])        {            k=i;            if((i!=1)&&(t-x[i]<x[i+1]-t))                k-=1;        }        else            k=n-3;    }    x0=x[k];    x1=x[k+1];    x2=x[k+2];    u=(t-x1)*(t-x2)/((x0-x1)*(x0-x2));    v=(t-x0)*(t-x2)/((x1-x0)*(x1-x2));    w=(t-x0)*(t-x1)/((x2-x0)*(x2-x1));    f=u*y[k]+v*y[k+1]+w*y[k+2];    return (f);}double QIP(int ,double,double *,double *);main(){    int i,n;    double *x,*y,t,f;    n=6;    t=75.5;    x=(double *)calloc(n,sizeof(double));    if(x==NULL)        exit(1);    y=(double *)calloc(n,sizeof(double));    if(y==NULL)        exit(1);    x[0]=75;    x[1]=76;    x[2]=77;    x[3]=78;    x[4]=79;    x[5]=80;    y[0]=2.768;    y[1]=2.833;    y[2]=2.903;    y[3]=2.979;    y[4]=3.062;    y[5]=3.153;    printf("使用拉哥朗日算法:\n");    printf("当x=75.5时,结果为 %f \n",QIP(n,t,x,y));    t=78.3;    printf("当x=78.3时,结果为 %f \n",QIP(n,t,x,y));    free(x);    free(y);}

⌨️ 快捷键说明

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