精华内容
下载资源
问答
  • 这是一个基于计算方法拉格朗日插值法实现的C语言版本的小程序,可以计算不同节点分割下的估计值及其误差值
  • 拉格朗日插值法C语言的实现1.实验目的:进一步熟悉拉格朗日插值法。掌握编程语言字符处理程序的设计和调试技术。2.实验要求:已知:某些点的坐标以及点数。输入:条件点数以及这些点的坐标 。输出:根据给定的点求出...

    实验 一 .拉格朗日插值法C语言的实现

    1.实验目的:

    进一步熟悉拉格朗日插值法。

    掌握编程语言字符处理程序的设计和调试技术。

    2.实验要求:

    已知:某些点的坐标以及点数。

    输入:条件点数以及这些点的坐标 。

    输出:根据给定的点求出其对应的拉格朗日插值多项式的值 。

    3.程序流程:

    (1)输入已知点的个数;

    (2)分别输入已知点的X坐标;

    (3)分别输入已知点的Y坐标;

    (4)通过调用函数lagrange函数,来求某点所对应的函数值。

    拉格朗日插值多项式如下:

    其中

    开始程序流程图:

    开始

    输入已知

    输入已知点个数n

    输入已知点的X坐标以及输入已知点的Y坐标 ↓

    输入已知点的X坐标以及输入已知点的Y坐标

    调用函数lagrange

    调用函数lagrange函数

    输出结果↓

    输出结果

    程序如下:

    #include

    #include

    #include

    float lagrange(float *x,float *y,float xx,int n) /*拉格朗日插值算法*/

    {

    int i,j;

    float *a,yy=0.0; /*a作为临时变量,记录拉格朗日插值多项式*/

    a=(float *)malloc(n*sizeof(float));

    for(i=0;i<=n-1;i++)

    {

    a[i]=y[i];

    for(j=0;j<=n-1;j++)

    if(j!=i) a[i]*=(xx-x[j])/(x[i]-x[j]);

    yy+=a[i];

    }

    free(a);

    return yy;

    }

    int main()

    {

    int i;

    int n;

    float x[20],y[20],xx,yy;

    printf("Input n:");

    scanf("%d",&n);

    if(n>=20)

    {

    printf("Error!The value of n must in (0,20)."); getch();return 1;

    }

    if(n<=0)

    {

    printf("Error! The value of n must in (0,20)."); getch(); return 1;

    }

    for(i=0;i<=n-1;i++)

    {

    printf("x[%d]:",i);

    scanf("%f",&x[i]);

    }

    printf("\n");

    for(i=0;i<=n-1;i++)

    {

    printf("y[%d]:",i);scanf("%f",&y[i]);

    }

    printf("\n");

    printf("Input xx:");

    scanf("%f",&xx);

    yy=lagrange(x,y,xx,n);

    printf("x=%f,y=%f\n",xx,yy);

    getch();

    }

    举例如下:

    已知当x=1,-1,2时f(x)=0,-3,4,求f(1.5)的值。

    运行结果如下:

    展开全文
  • /**作者:KDF5000*功能:利用拉格朗日插值法求解近似值*时间:2013.4.15*/#include #include #include //存放插值节点struct Data{double x;double y;struct Data *next;};/***************************************...

    /*

    *作者:KDF5000

    *功能:利用拉格朗日插值法求解近似值

    *时间:2013.4.15

    */

    #include

    #include

    #include

    //存放插值节点

    struct Data{

    double x;

    double y;

    struct Data *next;

    };

    /****************************************************

    *LagrangeInsert()

    *功能:拉格朗日插值法

    *****************************************************/

    double LagrangeInsert(struct Data *header,double x)

    {

    Data *pi,*pj,*p;

    pi=pj=header->next;

    double temp1,temp2;

    temp1=0; //记录内循环的积

    temp2=1;//记录外循环的和

    while(pi!=NULL)

    {

    while(pj!=NULL)

    {

    if(pi!=pj)

    temp2 *=(x-pj->x)/(pi->x-pj->x);

    pj = pj->next;

    }

    temp1 +=temp2*pi->y;

    temp2=1;

    pj = header->next;

    pi = pi->next;

    }

    return temp1; //返回计算结果

    }

    void main()

    {

    Data *header = (Data *)malloc(sizeof(Data));

    char str[20];

    Data *p,*newData;

    char strx[20],stry[20];

    double x;

    p=header;

    p->x=0;

    p->y=0;

    p->next=NULL;

    //输出提示信息

    printf("*******************************************\n");

    printf("使用说明:\n1.用户输入插值点,每一行输入一组:x y;\n2.输入换行表示输入结束。\n");

    printf("*******************************************\n");

    printf("x y\n");

    //接收用户输入知道第一次输入非换行为止

    memset(str,0,sizeof(str));

    while(strlen(str)==0)

    gets(str);

    //数据输入完毕,输入换行结束输入

    while(strlen(str)!=0)

    {

    newData = (Data *)malloc(sizeof(Data));

    sscanf(str,"%s%s",strx,stry); //获取输入的前两个字符串 第一个为x,第二个为y

    newData->x = strtod(strx,NULL); //将输入转换成浮点数

    newData->y = strtod(stry,NULL);

    newData->next=NULL;

    p->next=newData;

    p = p->next;

    gets(str);

    }

    printf("请输入要计算的x值:");

    scanf("%lf",&x);

    printf("L(%f) = %f\n",x,LagrangeInsert(header,0.20));

    return ;

    }

    eab6ddf94035352e6673670dfa79999d.png

    展开全文
  • 计算机C语言数值计算程序,比较经典的计算方法。拉格朗日插值法C语言的实现。
  • 拉格朗日插值方法C语言编程
  • 已知数据点: x1=1,y1=1; x2=2,y2=6.5; x3=3,y3=3.7 计算x=2.5时的y值?
  • 韩山师范学院C 语言程序设计实验名称: 实验一:拉格朗日插值法 C 语言的实现 任课教师: 赖国明 【实验目的】 】 专业: 数学与应用数学 学号: 2009111437日期: 姓名:2011-9-19 郑永锋1、进一步熟悉拉格朗日插值...

    韩山师范学院

    C 语言程序设计

    实验名称: 实验一:拉格朗日插值法 C 语言的实现 任课教师: 赖国明 【实验目的】 】 专业: 数学与应用数学 学号: 2009111437

    日期: 姓名:

    2011-9-19 郑永锋

    1、进一步熟悉拉格朗日插值法。 2、掌握编程语言字符处理程序的设计和调试技术。

    【实验内容】 】 (题目)作出插值点(-2.00,0.00)(2.00,5.00)(5.00,6.00)的二次 Lagrange 插值多项式 , , L2 (x) ,并计算 L2 (-1.2), L2 (1.2)。 解题思路: 解题思路:

    (1)输入已知点的个数; (2)分别输入已知点的 X 坐标; (3)分别输入已知点的 Y 坐标; (4)通过调用函数 lagrange 函数,来求某点所对应的函数值。 拉格朗日插值多项式如下:

    L n ( x j ) = ∑ yk lk ( x j ) = y j j = 0,1, ……n

    k =0 n

    l (x) = 其中 k

    程序流程图:

    (x-x (x x0)… (x-xk-1)(x-xk+1) … n) … k =0,1… ,n , … (xk x0)… (xk-xk-1)(xk-xk+1) … k-xn) … (x

    开始

    输入已知点个数 n

    输入已知点的 X 坐标以及输入已知点的 Y 坐标

    调用函数 lagrange 函数

    输出结果

    第 1 页 共 9 页

    1-1083-jpg_6_0_______-728-0-0-728.jpg

    展开全文
  • 计算方法作业-拉格朗日插值方法,使用c语言实现。剩下的看代码就行。
  • 拉格朗日插值法c语言实 验 报 告实验课程名称 数值计算方法实验项目名称 Lagrange插值公式年 级专 业学生姓名学 号理 学 院实验时间: 201 年 月 日学生实验室守则一、按教学安排准时到实验室上实验课,不得迟到、...

    拉格朗日插值法c语言

    实 验 报 告

    实验课程名称 数值计算方法

    实验项目名称 Lagrange插值公式

    年 级

    专 业

    学生姓名

    学 号

    理 学 院

    实验时间: 201 年 月 日

    学生实验室守则

    一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课。

    二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。

    三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。

    四、实验必须服从教师的安排和指导,认真按规程操作,未经教师允许不得擅自动用仪器设备,特别是与本实验无关的仪器设备和设施,如擅自动用或违反操作规程造成损坏,应按规定赔偿,严重者给予纪律处分。

    五、实验中要节约水、电、气及其它消耗材料。

    六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。

    七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理。仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。

    八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。

    九、无故不参加实验者,应写出检查,提出申请并缴纳相应的实验费及材料消耗费,经批准后,方可补做。

    十、自选实验,应事先预约,拟订出实验方案,经实验室主任同意后,在指导教师或实验技术人员的指导下进行。

    十一、实验室内一切物品未经允许严禁带出室外,确需带出,必须经过批准并办理手续。

    学生所在学院: 专业: 班级:

    姓 名

    学 号

    实验组

    实验时间

    指导教师

    成 绩

    实验项目名称

    Lagrange插值公式

    实验目的及要求:

    实验(或算法)原理:

    1.算法设计。

    2.编写相应的程序上机调试。

    3.已知下列函数表

    4849

    用上述程序验证用线性插值计算的近似值为,用抛物插值计算的近似值为。

    4.已知下列函数表

    用上述程序分别用线性插值与抛物插值计算的近似值。

    实验硬件及软件平台:

    PC机,vc++6.0,Internet网

    实验步骤:

    1.根据算法事先写出相应程序。

    2.启动PC机,进入vc集成环境,输入代码。

    3.编译调试。

    4.调试通过,计算出正确结果。

    实验内容(包括实验具体内容、算法分析、源代码等等):

    #include

    #include

    #define N

    double lagrange(double x[N],double y[N],double xx)

    {double yy,t;

    int j,k;

    yy=0.0;

    for(j=0;j

    {t=1.0;

    for(k=0;k

    if(k!=j)

    t=t*(xx-x[k])/(x[j]-x[k]);

    yy=yy+t*y[j];

    }

    return yy;

    }

    void main()

    {double xx,yy;

    double x[N]={ };

    double y[N]={ };

    xx= ;

    yy=lagrange(x,y,xx);

    printf("y=%f\n",yy);

    }

    实验结果与讨论:

    指导教师意见:

    签名: 年 月 日

    展开全文
  • 拉格朗日插值法C语言的实现(实验报告)实验名称:实验一:拉格朗日插值法C语言的实现日期:2011-9-19任课教师:赖国明专业:数学与应用数学学号:2009111437姓名:郑永锋【实验目的】1、进一步熟悉拉格朗日插值法。...
  • C语言实现拉格朗日插值........计算方法的实现
  • 韩山师范学院 C语言程序设计实验名称: 实验一:拉格朗日插值法C语言的实现 日期: 2011-9-19任课教师: 赖国明 专业: 数学与应用数学 学号: 2009111437 姓名: 郑永锋【实验目的】1、进一步熟悉拉格朗日插值法。...
  • 实验二:Lagrange拉格朗日插值法C语言代码

    万次阅读 多人点赞 2017-04-19 09:44:35
    拉格朗日插值多项式的算法就比前面的Doolitle三角分解简单些,30行代码左右可以搞定,不过为了通俗易懂,这里我写了比较多的注释.题目:已知下列函数表: x | 0.56160 | 0.56280 | 0.56401 | 0.56521 | y | 0....
  • 题目 拉格朗日插值法流程图 (1)二次插值:#includefloat lagelangri(float x[],float y[],float xx,int n){int i,j;float *a,yy=0;a=new float[n];for(i=0;i<=n-1;i++){a[i]=y[i];for(j=0;j<=n-1;j++)if(j!=i)...
  • 拉格朗日插值--C语言实现附 页1. 源程序#include "stdlib.h"#include "stdio.h"#include "conio.h"#include "string.h"#include "graphics.h"#include "math.h"typedef struct{float x;float y;}POINT;float La...
  • 拉格朗日插值法在工程-应用中的算法实现2010年第1期总第154期林区教学Teach ing of Fo re stry RegionNo. 1 2010General No. 154拉格朗日插值法在工程应用中的算法实现徐 小 丽(苏州工业职业技术学院 ,江苏 苏州)摘 ...
  • 计算方法--拉格朗日插值法与线性插值法等方法的c语言代码,附加注释
  • 拉格朗日插值法C代码

    2010-10-14 20:15:19
    根据拉格朗日插值法编写的完整C代码,很方便,只需输入节点数和节点数据以及插入的数据。
  • 拉格朗日多项式插值(C语言)#include #include #include float lagrange(float *x,float *y,float xx,int n)/*拉¤-格?朗¤¨o日¨?插?值|ì算?¤?§*/ { int i,j; float *a,yy=0.0;/*a作á??为a临¢¨′时o?à变à...
  • 这个是用C语言编的关于插值的代码,主要是三种插值方式,为拉格朗日插值法,分段线性插值法和三次样条插值法,三次样条采用追赶法。
  • (拉格朗日插值法课程设计摘要插值法是函数逼近的一种重要方法,是数值计算的基本课题.数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数.Lagrange插值是n次多项式插值,其成功地用...
  • 使用c语言实现一个给出若干点的拉格朗日线性插值

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 311
精华内容 124
关键字:

拉格朗日插值法c语言

c语言 订阅