首页 > 其他分享 >实例87 拉格朗日插值

实例87 拉格朗日插值

时间:2022-09-23 10:14:01浏览次数:61  
标签:拉格朗 插值 double lag int printf include 87

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
 
double LAG(int,double *,double *,double);
 
void main()
{
    int n;
    double *x,*y,t,lag;
    t = 0.15;
    n = 6;
    x = (double*)calloc(n,sizeof(double));
    if(x == NULL)
    {
        printf("内存分配失败\n");
        exit(1);
    }
    y = (double*)calloc(n,sizeof(double));
    if(y == NULL)
    {
        printf("内存分配失败\n");
        exit(1);
    }
    x[0] = 0;
    x[1] = 0.1;
    x[2] = 0.195;
    x[3] = 0.3;
    x[4] = 0.401;
    x[5] = 0.5;
 
    y[0] = 0.39894;
    y[1] = 0.39695;
    y[2] = 0.39142;
    y[3] = 0.38138;
    y[4] = 0.36812;
    y[5] = 0.35206;
 
    lag = LAG(n,x,y,t);
    printf("拉各朗日插值后得到的结果是:\n");
    printf("f(%.2f)=%e\n",t,lag);
    free(x);
    free(y);
}
 
double LAG(n,x,y,t)
int n;
double *x;
double *y;
double t;
{
    int i,j;
    double p,s;
    s = 0;
    for(i=0;i<n-1;i++)
    {
        p = 1;
        for(j=0;j<n-1;j++)
            if(i!=j)
                p*=(t-x[j])/(x[i]-x[j]);
            s+=p*y[i];
    }
    return (s);
}
trust100@ubuntu:~/test/clanguage$ ./a.out 
拉各朗日插值后得到的结果是:
f(0.15)=3.944728e-01

 

标签:拉格朗,插值,double,lag,int,printf,include,87
From: https://www.cnblogs.com/mapstar/p/16721710.html

相关文章

  • 【做题记录】CF878E
    让正数带的系数尽量大。如果要使系数最小的话,全部从左往右合并,可以让除了左端点之外全部系数为\(2\)。如果增大系数可以考虑先右再左。那么实际上就是分成若干组,组内......
  • 1.PIC16F877A的基本IO及MPLAB X IDE的simulator基本使用
    1.PIC16F877A基本io配置原理及相关程序  配置基本的IO主要是配置单片机的TRIS和PORT,其他功能一律当成默认未开启以PORTB为例,PORTB有多8个引脚,RB0于低电压编程相关,RB......
  • # 87双周赛
    这次只做出了三道题6184.统计共同度过的日子数不熟悉api,没用过sscanf,在处理日期字符串的时候耽误了很多时间,最后用的substr()和stoi(stoi还是现场在网上搜的,哈哈哈)......
  • 统计学习方法学习笔记-附录-拉格朗日对偶性
    原始问题假设\(f(x),c_i(x),h_j(x)\)是定义在\(R^n\)上的连续可微函数,考虑约束最优化问题\[\begin{aligned}\mathop{min}\limits_{x\inR^n}\&f(x)\\s.t.\&c_i(x)......
  • [leetcode 876] 链表的中间节点
    [leetcode876]链表的中间节点给定一个头结点为head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例1:输入:[1,2,3,4,5]输出:此列......
  • leetcode 687 最长同值路径
    给定一个二叉树的root,返回最长的路径的长度,这个路径中的每个节点具有相同值。这条路径可以经过也可以不经过根节点。做这道题的时候,我一开始想到的是直接从根节点往......
  • 687. 最长同值路径
    题目描述给定一个二叉树的 root ,返回最长的路径的长度,这个路径中的每个节点具有相同值 。这条路径可以经过也可以不经过根节点。两个节点之间的路径长度由它们之......
  • P4587 神秘数 Sol
    主席树好题。本质上是对于前缀的理解与转化。同题见牛牛的凑数游戏。实际上那场比赛T2和T3都是前缀相关的题目。这题是T3,看到很容易想到二进制拆分。稍微推广一......
  • LeetCode 1387. 按幂值对整数进行排序
    LeetCode1387.按幂值对整数进行排序剛從南湖群峰下山,原本受了現在好像又胖回去了(哭[按幂值排序整数-LeetCode整数x的幂定义为使用以下步骤将x转换为1所需的......
  • 信息学一本通 1187:统计字符数
    时间限制:1000ms      内存限制:65536KB提交数:19434   通过数:10997【题目描述】给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的......