一般拉格朗日插值多项式:

2.1如图拉格朗日多项式插值结果,预测不准

2.2如图,拟合曲线两端出现巨变,出现龙格现象。

2.3此拉格朗日插值多项式不是数据的好模型,由于被插值区间数据较少,出现龙格现象。

2.4如图,前 4 个数据点的三次多项式估计 1998 年世界石油产量为74.258(桶/天),Runge 现象不会出现。

c++程序源代码:

//拉格朗日多项式插值,龙格现象,高等数值计算
//开发人员:chenshuai  开发日期:2019.11.5  邮箱:chenshuai0614@hrbeu.edu.cn #include "pch.h"
#include <iostream>
#include <math.h>
using namespace std;
#define num  3   //拟合多项式次数
#include <vector>
#include <fstream>//文件输入/输出流
#include <iomanip> //参数化输入/输出
double Lagrange(double x, vector<double>x_i, vector<double>y_i);//定义拉格朗日插值函数
double Lagrange(double x,vector<double>x_i,vector<double>y_i)
{int  n = size(x_i);double ln_x = 0, w_i = 1.0;for (int k = 0; k <n; k++){w_i = 1;for (int j = 0; j <n; j++){if (k != j)w_i = w_i * (x - x_i[j]) / (x_i[k] - x_i[j]);}ln_x = ln_x + w_i * y_i[k];}return ln_x;
}
int main()
{/*vector<double>x_i = {1994, 1995,1996,1997,1998,1999,2000,2001,2002,2003 };vector<double>y_i = { 67.052,68.008,69.803,72.024,73.4,72.063,74.669,74.487,74.065,76.777 };*/vector<double>x_i = { 1994, 1995,1996,1997 };vector<double>y_i = { 67.052,68.008,69.803,72.024};double x=1998,y=0;int n = 50;//插值等分数y = Lagrange(x, x_i, y_i);cout << "1998年的石油产量=" << fixed << setprecision(4) << setw(8) << y << endl;ofstream out("插值结果.dat");for (int i = 0; i  <= num; i++){out << fixed << setprecision(4) << setw(12) << x_i[i] << fixed << setprecision(4) << setw(15) << y_i[i] << endl;}for (int i = 0; i < n; i++){x = 1994 + double(1997 - 1994) / (n - 1)*i;cout << x << endl;y= Lagrange(x, x_i, y_i);out << fixed << setprecision(4) << setw(12) << x<< fixed << setprecision(4) << setw(15) << y<< endl;}out.close();
}

数值计算——拉格朗日插值方法(附代码)相关推荐

  1. 拉格朗日插值法MATLAB实现(附代码、实例、详解)

    第一部分:问题分析 (1)实验题目:拉格朗日插值算法 具体实验要求:要求学生运用拉格朗日插值算法通过给定的平面上的n个数据点,计算拉格朗日多项式Pn(x)的值,并将其作为实际函数f(x)的估计值.用m ...

  2. 数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 吾日三省吾身:为人谋而不忠乎?与朋 ...

  3. 送书 | 数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)

    导读:我们介绍过用matplotlib制作图表的一些tips,感兴趣的同学可以戳→纯干货:手把手教你用Python做数据可视化(附代码).matplotlib是一个相当底层的工具.你可以从其基本组件中 ...

  4. Get了!用Python制作数据预测集成工具 | 附代码

    作者 | 李秋键 责编 | 晋兆雨 大数据预测是大数据最核心的应用,是它将传统意义的预测拓展到"现测".大数据预测的优势体现在,它把一个非常困难的预测问题,转化为一个相对简单的描述 ...

  5. java中自造类是什么意思_Java建造者模式是什么?如何实现?(附代码)

    本篇文章给大家带来的内容是关于Java建造者模式是什么?如何实现?(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 建造者模式 一.什么是建筑者模式? 建造者模式(Build ...

  6. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  7. html5自定义属性作用,html5自定义属性:如何获取自定义属性值(附代码)

    这篇文章给大家介绍的内容是关于html5自定义属性:如何获取自定义属性值(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 自定义属性: 在HTML5中我们可以自定义属性,其格 ...

  8. 手把手教你用Keras进行多标签分类(附代码)_数据派THU-CSDN博客 (翻译:程思衍校对:付宇帅)

    手把手教你用Keras进行多标签分类(附代码)_数据派THU-CSDN博客 手把手教你用Keras进行多标签分类(附代码)_数据派THU-CSDN博客

  9. 独家 | 手把手教TensorFlow(附代码)

    上一期我们发布了"一文读懂TensorFlow(附代码.学习资料)",带领大家对TensorFlow进行了全面了解,并分享了入门所需的网站.图书.视频等资料,本期文章就来带你一步步 ...

最新文章

  1. 趣谈 23 种设计模式(多图 + 代码)
  2. 一些带dga域名的恶意软件
  3. SpringBoot环境下QueryDSL-JPA的使用
  4. 解决Ubuntu系统中文乱码显示问题
  5. 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型
  6. 骑驴找马!在职期间如何优雅的去面试?
  7. m1芯片MacBook安装本地编译版pandas库
  8. 教育部认可公众号博主是自由职业,网友:公号被封算失业吗?
  9. 进出仓原理_通达信浪口主图+窥窃天机副图+进出仓副图强强组合
  10. 3.9-分区表fstab
  11. 以ontouch为例说明android事件发送机制
  12. Process Kill Technology Process Protection Against In Linux
  13. C# globle应用
  14. 推荐一款基于.Net Core开发简约漂亮的 WPF UI库
  15. C语言循环语句的用法——while循环
  16. 基于CC2430的Zigbee开发套件【转】
  17. JavaScript 设计模式之-单例模式(Singleton Pattern)
  18. c语言开发 kdj,[转载]随机指标KDJ,及其MA、EMA、SMA、DMA介绍
  19. 一、Netflix Eureka
  20. python包导入细节

热门文章

  1. 最新LVGL8.3.7版本汉字输入法的使用,使用自定义词典。
  2. 2023.4月15日,晚3.35开始,又是睡不着的一晚
  3. 实现CentOS/Ubuntu server上任务栏固定到桌面下方 - 收藏夹一直显示 - 任务栏在哪里 - 任务栏怎么弹出
  4. SSH框架下 ajax 实现异步加载的案例
  5. Go 语言 strings 库常用方法
  6. java的swing教程_java图形化Swing教程(一)
  7. go 程序包开发,读简单配置文件 v1
  8. 关于版本升级的一点理解(VersionUpdate)
  9. 【CF #792 Div1+Div2】A-E
  10. 后台实现sku 管理