/*

*作者: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 ;

}

拉格朗日插值程序C语言,拉格朗日插值法 C语言实现相关推荐

  1. 拉格朗日插值的优缺点_拉格朗日插值法与牛顿插值法的比较

    第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 [ 摘 要 ] 在生产和科研中出现的函数是多样的.对于一些函数很难找出其解析表达式.即使在某些情况下,可以写出函 数的解析表达式,但由于解析表 ...

  2. 拉格朗日插值的优缺点_拉格朗日插值的优缺点_拉格朗日插值法与牛顿插值法的比较...

    第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 [ 摘 要 ] 在生产和科研中出现的函数是多样的.对于一些函数很难找出其解析表达式.即使在某些情况下,可以写出函 数的解析表达式,但由于解析表 ...

  3. 拉格朗日插值的优缺点_拉格朗日插值法(图文详解)

    对某个多项式函数,已知有给定的k + 1个取值点: 其中 对应着自变量的位置,而 对应着函数在这个位置的取值. 假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为: ...

  4. 拉格朗日插值的优缺点_拉格朗日插值方法的理论基础。

    只要做数据处理,一步不可避免的工作就是插值.而插值里面比较常用的方法之一就是拉格朗日插值法,这篇文章就跟大家一起来白活白活讲讲拉格朗日插值的理论基础. 为什么需要进行插值 我们进行数据处理的理想,当然 ...

  5. 拉格朗日插值的优缺点_拉格朗日与牛顿插值法的比较

    第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 一. 背景 在工程和科学研究中出现的函数是多种多样的.常常会遇到这样的情况:在某个实际 问题中,虽然可以断定所考虑的函数 ) ( x f 在区 ...

  6. 拉格朗日插值函数计算机实现流程图,拉格朗日插值实验报告.doc

    实验名称: 实验一 拉格朗日插值 引言 我们在生产生活中常常会遇到这样的问题:某个实际问题中,函数f(x)在区间[a,b]上存在且连续,但找到其表达式,只能通过实验和观测得到有限点上的函数表.有些情况 ...

  7. bzoj 5339 [TJOI2018]教科书般的亵渎 拉格朗日插值

    题面 题目传送门 解法 可以发现,题目可以转化成求若干个形如\(\sum_{i=1}^ni^k\)的东西 这个东西可以拉格朗日插值 大概讲一下拉格朗日插值是个什么东西: 显然,\(\sum_{i=1} ...

  8. matlab全域基函数,多项式函数插值:全域多项式插值(一)单项式基插值、拉格朗日插值、牛顿插值 [MATLAB]...

    全域多项式插值指的是在整个插值区域内形成一个多项式函数作为插值函数.关于多项式插值的基本知识,见"计算基本理论". 在单项式基插值和牛顿插值形成的表达式中,求该表达式在某一点处的值 ...

  9. 模板:拉格朗日插值(多项式)

    所谓拉格朗日插值,就是在"拉格朗日"进行的一项民俗活动.拉格朗日通常在每年2月的第82个星期三. (逃) 前言 非常强大的算法. 当可以证明某个函数是一个 kkk 次多项式时,我们 ...

最新文章

  1. AI+大数据助力抗疫,带你认识百度地图的新玩法!
  2. 【springboot中使用aop的具体步骤和示例】
  3. SAP Cloud Application Programming bookshop 例子 Vue页面不能正常显示的原因分析
  4. my task doorway - where is it parsed
  5. 图片相册社区类型小程序模板
  6. 利用BP神经网络预测水道浅滩演变
  7. 「小程序JAVA实战」小程序的留言和评价功能(70)
  8. ScrollView嵌套ListView冲突问题的最优解决方式
  9. 2020-11-13 02_计算机视觉基础
  10. 软件测试全套教程,软件测试自学线路图
  11. 猫哥教你写爬虫 034--爬虫-BeautifulSoup实践
  12. 聊聊程序员的成长与如何实现价值提升
  13. 山下英子与家政学员亲密接触 深度解读断舍离生活美学
  14. 用python一键保存几千张表情包斗图,分分钟征服朋友圈所有好友
  15. ife2018 task1
  16. 爬虫---国家食品药品监督管理总局
  17. 渗透测试工具--NetCat的使用
  18. 多功能智慧杆如何实现智能红绿灯应用?
  19. 数据迁移测试经验总结
  20. 1049: 平方和与立方和

热门文章

  1. MATLAB/SIMULINK生成嵌入式代码的步骤
  2. IT行业面试指导 计算机行业面试技巧 面试技巧
  3. NX二次开发 创建坐标系 UF_CSYS_create_csys()
  4. Solaris11之网络配置(更新:2021-10-21)
  5. Java内存的一点理解, 静态方法和实例方法的区别及使用场景
  6. 混合模式程序matlab,VS2013 C# 调用 cognex 的QuickBuild做程序时发生一个错误
  7. TeamSpeak服务器无法运行,Teamspeak docker两步快速搭建运行 及 服务器权限丢失解决办法...
  8. 32位/64位 libmysql.dll和libmysql.lib下载
  9. 一篇让你彻底了解http请求报文和响应报文的结构
  10. 企微魔盒企微SCRM系统v14.6 独立版 稳定更新