数学建模常用算法汇总及python,MATLAB实现(六) —— pandas和matlab实现插值
插值
2的拉格朗日插值用的其实比较少, 可以看一下了解一下插值的原理
主要看看3里的结论和4的实现代码
文章目录
- 插值
- 1. 定义
- 2.拉格朗日插值
- 2.1 概念
- 3. Rouge现象
- 3.1 是什么
- 3.2 如何避免
- 4. MATLAB实现代码
- 4.1 一维插值
- 4.2 函数原型
- 4.3 参数解释
- 4.4 举例
- 4.5 二维插值
- 4.6 散乱点插值
- 4.7 插值方法的选用
- 5. python实现
1. 定义
插值和拟合都是通过一组数据点构造一个函数作为近似
- 插值就是要这个函数通过给定的数据点,
- 拟合就是不一定要通过数据点, 但是要反映数据的大体变化趋势,
应用上的区别:
插值一般用于样本区间内的插值计算
拟合与插值不同的是, 拟合可以用于预测, 从数据中获得一般性经验
插值主要侧重点是得到值, 拟合侧重点是得到函数关系
如果样本数据为精确数据,适合采用数据插值方法;如果样本数据为统计数据或存在误差,则适合用曲线拟合的方法。
2.拉格朗日插值
一般不用, 因为经常会出现rouge现象, 拟合效果一般
2.1 概念
对每个点弄一个基函数, 再加起来插值函数
举例:
比如对于点x1
我弄一个函数使得在x = x1时函数值为1, x取其他样本点(x2, x3)都是0
再把这个函数乘y1(样本点x1的y值), 叫这个函数L1, 也就是我们要的基函数
那么这个函数L1有以下性质
(1) 有 L1(x1) = y1 也就是必然经过当前想要插入的样本点
(2) L1(x2或者x3) = 0 也就是在后面把这些基函数加起来得到插值函数的时候, 当前基函数不要影响到插值函数经过别的样本点
对其他点都这么做之后, 再把这些基函数都加起来就可以保证最后的插值函数可以经过所有的样本点
3. Rouge现象
3.1 是什么
不要简单的认为次数越高对样本点的拟合越好
(跟深度学习里的过拟合差不多的意思)
不要使用七次以上的函数去插值, 不然最后会得到一个震荡剧烈的函数(x绝对值越大震荡越厉害), 拟合真实函数的效果非常差
3.2 如何避免
将插值函数分成小区间, 用低次函数插值(二次三次)
4. MATLAB实现代码
4.1 一维插值
内置函数
interp1()
> 注: 这里是p1数字1, 不是l
4.2 函数原型
yi = interp1(x, y, xi, 'method')
4.3 参数解释
x, y: 插值点, 也就是2.1里说的样本点
xi: 被插点横坐标, 就是指定哪些横坐标去生成yi
yi: 返回一堆纵坐标, 插值的结果
method:
'nearest'
最近邻插值'linear'
线性插值(默认) *'spline'
三次样条插值 **'cubic'
立方插值
名词不懂的自己搜一下
只解释一下样条, 就是3.2中介绍的方法, 把整个区间分成小区间进行低次插值, 这样能避免Rouge现象
打星号的常用, 星星越多越常用
4.4 举例
clc
clear% 真实函数中采样的用于插值的点
x = rand(10, 1);
x = sort(x);
x = (x - 1)*pi;
y = sin(x);% 随机的被插点横坐标
xi = rand(5, 1);
xi = (xi - 1).*pi% 用于画出真实函数sin(x)
x_plot = linspace(-pi./2, pi./2, 100);
y_plot = sin(x_plot)% MATLAB内置插值函数求解
yi = interp1(x, y, xi);% 画图
plot(x, y, '*r', xi, yi, 'pb', x_plot, y_plot, '-y');
4.5 二维插值
跟一维插值基本一样, MATLAB内置函数interp2()
函数原型:
zi = interp2(x, y, z, xi, yi, 'method');
参数介绍:
x, y: 要求一个是行向量一个是列向量, 只要不是都行或者都列就行
method:
'nearest'
最近邻插值'linear'
双线性插值(默认) *'spline'
样条插值'cubic'
双立方插值 **
打星号的常用, 效果一般不错, 星星越多越常用
4.6 散乱点插值
内置函数griddata()
函数原型
zi = griddata(x, y, z, xi, yi, 'method');
4.7 插值方法的选用
上面讲过了, 再提一遍
一维插值用样条
二维插值用立方
5. python实现
用pandas.DataFrame对象的方法interpolate()
注意:
interpolate()只能用在Series
这个方法也可以在数学建模的数据清洗阶段填充缺失值
重要参数:
method指定方法 method='spline’样条 order=3 三次样条
示例:
s1.interpolate()
df[‘col’].interpolate()
数学建模常用算法汇总及python,MATLAB实现(六) —— pandas和matlab实现插值相关推荐
- 数学建模常用算法汇总及python,MATLAB实现(五) —— 拟合
拟合 比较重要的就是2.1和2.3 2.2可以浅看一下, 自己敲着试一试 就拟合部分来说, MATLAB比python强大很多, 自带cftool工具包, 并且有很多快速的函数, 个人建议使用MATL ...
- 数学建模常用算法汇总及python,MATLAB实现(二)—— 整数规划
整数规划 第3部分主要讲算法的具体实现, 如果对具体细节没有要求, 直接看1, 4就行, 直接用matlab内置的intlinprog函数或者python的cvxpy等第三方包 这里我个人更偏向于使用 ...
- 数学建模常用算法汇总及python,MATLAB实现(一)—— 线性规划
线性规划 文章目录 线性规划 数学原型 1. matlab求解 函数原型 2. python求解 3. 例题 matlab求解 数学原型 m i n x c ⃗ T x ⃗ s . t . { A x ...
- 【Python数学建模常用算法代码(二)之BP神经网络】
Python数学建模常用算法代码(二) BP神经网络模型Python代码 import numpy as np import math import random import string impo ...
- 数学建模——主成分分析算法详解Python代码
数学建模--主成分分析算法详解Python代码 import matplotlib.pyplot as plt #加载matplotlib用于数据的可视化 from sklearn.decomposi ...
- 【数学建模常用算法】之灰色预测模型GM
作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] 文章目录 一.灰色预测模型GM(1,1) 1.数据检验与数据预处理 1.1 构 ...
- 二维动态规划降维误差一般为多少_数学建模常用算法模型
数学模型的分类 按模型的数学方法分: 几何模型.图论模型.微分方程模型.概率模型.最优控制模型.规划论模型.马氏链模型等 按模型的特征分: 静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模 ...
- 数学建模常用算法—灰色预测
今天数模君给大家讲解一下数学建模比赛中常用的一种预测方法:灰色预测法. 目录 模型的含义 灰色预测的原理 实例 模型的含义 灰色预测模型 ( Gray Forecast Model )是通过少量的.不 ...
- 数学建模常用算法—马尔可夫预测
今天数模君带大家学习一下数学建模中的预测算法之马尔科夫预测. 目录 模型的含义 实例分析 模型的含义 马尔可夫(Markov)预测法,就是一种关于事件发生的概率预测方法.它是根据事件的目前状况来预测其 ...
最新文章
- http get 传参最大长度介绍
- “李子柒”们的商业模式,到底需不需要微念
- open-capacity-platform 项目启动
- MFC复选框CheckBox使用 ++
- 【转】Java内存与垃圾回收调优
- 每天一道LeetCode-----计算直方图中最大矩形的面积
- linux indent格式化代码
- socket通信数据类型
- 一个指针变量到底占几个字节
- 若依启动sentinel教程
- rails提供的validators
- Android IPC(一)跨进程通讯的几种方式、作用
- 华为手机热点无法连接_华为手机开热点,连不上怎么破
- 用微信小程序发红包的两种方法
- MAC读取NTFS移动硬盘方法
- 搜索引擎优化的基本内容和方法
- ssm基于web的教务管理系统毕业设计源码261620
- 规格型号、购方名称、地址备注等格式有误、特殊字符-无法开票?
- 苹果机和Android,苹果机和安卓机各有优缺点,但苹果机这四点让人顶不住
- 3-CSS样式化文字