拉格朗日插值法 C语言实现
/*
*作者:KDF5000
*功能:利用拉格朗日插值法求解近似值
*时间:2013.4.15
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//存放插值节点
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,第二个为ynewData->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语言实验报告,拉格朗日插值法C语言的实现(实验报告)(9页)-原创力文档...
韩山师范学院 C语言程序设计 实验名称: 实验一:拉格朗日插值法C语言的实现 日期: 2011-9-19 任课教师: 赖国明 专业: 数学与应用数学 学号: 2009111437 姓名: 郑永锋 [实 ...
- 拉格朗日插值程序C语言,拉格朗日插值法 C语言实现
/* *作者:KDF5000 *功能:利用拉格朗日插值法求解近似值 *时间:2013.4.15 */ #include #include #include //存放插值节点 struct Data{ ...
- 拉格朗日插值函数计算机实现流程图,(拉格朗日插值法课程设计.doc
(拉格朗日插值法课程设计 摘要 插值法是函数逼近的一种重要方法,是数值计算的基本课题.数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数.Lagrange插值是n次多项式 ...
- Python实现拉格朗日插值法
已知sinx的一组x,y对应关系,用拉格朗日插值法估计sin(0.3367)的值. x x0.32 0.34 0.36 y 0.314567 0.333487 0.352274 / / class I ...
- 拉格朗日插值法(Lagrange插值法)
插值介绍: 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点. 插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值. 这是百度百 ...
- 2021-01-07 matlab数值分析 插值法 拉格朗日插值法 牛顿插值法
matlab数值分析 插值法 1 拉格朗日插值法 function yh=lagrange(x,y,xh) n=length(x); m=length(xh); yh=zeros(1,m); for ...
- 拉格朗日插值法matlab上机,拉格朗日插值法使用MATLAB做的例题
<拉格朗日插值法使用MATLAB做的例题>由会员分享,可在线阅读,更多相关<拉格朗日插值法使用MATLAB做的例题(2页珍藏版)>请在人人文库网上搜索. 1.一物体廓线数据如下 ...
- 拉格朗日插值法(Lagrange)
拉格朗日插值法是基于基函数的插值方法,插值多项式可以表示为: 其中称为 i 次基函数 Matlab中拉格朗日插值法函数为:Language 功能:求已知点数据点的拉格朗日多项式 调用格式:f=Lagr ...
- 【BZOJ3453】XLkxc [拉格朗日插值法]
XLkxc Time Limit: 20 Sec Memory Limit: 128 MB [Submit][Status][Discuss] Description 给定 k,a,n,d,p f( ...
最新文章
- 利用owc生成excel并且显示在页面
- 设计阶段如何画用例视图(Use-Case View)
- 北京协和医学院823计算机原理,2017年北京协和医学院放射医学研究所(天津)823计算机原理考研题库...
- [转]浅析DDD(领域驱动设计)
- HDU 2242 双连通分量 考研路茫茫——空调教室
- MySQL 外连接查询
- php url gb2312 utf8,php实现utf-8与gb2312的url编码转换
- 2021-10-07
- react 引入轮播插件_React.js实现轮播图
- 测试es from size error,from + size must be less than or equal to: [10000]异常问题
- 【HDU1277】全文检索(ac自动机/字典树)
- RK3288出现tts下载不了
- 包含服务器数据库的聊天系统,聊天服务器数据库
- 数据的存储和管理,主要有哪些好的方法?
- 全国计算机等级考点申请,全国计算机等级考试(NCRE)考点申请书某高校(367)
- R语言-豆瓣电影top250数据爬取和分析
- 比较简单的单间租房协议!
- 物流项目管理的团队建设 (zt)
- 用python制作音乐_Python3使用PySynth制作音乐的方法
- 接口测试——HtmlUnit、OkHttp