数学建模之插值算法

这篇具有很好参考价值的文章主要介绍了数学建模之插值算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注:本文面向应用,参考了清风大大的资料以及司守奎老师的《数学建模算法与应用》,属作者的个人学习总结。

一.算法应用背景

当已知函数点非常少的时候,我们经常要模拟产生一些新的函数值来支撑后续数据分析。这就是插值算法的应用目的。*插值算法还可以用来实现短期预测,但我们往往使用拟合算法以及时间序列算法来实现预测。

二.插值问题的分类

插值问题一般分为一维插值问题和多维插值问题。

三.插值法

(一)数学定义

设函数f(x)在区间[a,b]上有定义,且已知在点a≤x0<x1<x2<······<xn≤b上的值分别为y0,y1,y2······,yn,若存在一简单函数P(xi)=yi(i=0,1,2···,n),则称P(x)是f(x)的插值函数,点x0,x1,x2···,xn称为插值节点,包含插值节点的区间[a,b]称为插值区间。而求P(x)的方法被称为插值法。*这里我们仅仅介绍简单概念,对推导过程不作说明。感兴趣请参考《数值计算方法》课程。

(二)分类

1分段插值:P(x)为分段多项式的插值方法;

2插值多项式:P(x)是次数不超过n的代数多项式的插值方法,也就是:数学建模之插值算法,数学建模,数学建模,算法

3三角插值:需要结合傅里叶变换,因此不常用。*非数学专业想学习傅里叶变换(主要是电子,电气,通信类)可以参考华中科技大学李红老师主讲的《复变函数与积分变换》,文末附有链接。

(三)建模中常用的插值方法

实际上会用到:拉格朗日插值法、牛顿插值法、分段三次埃尔米特插值法以及三次埃尔米特插值法等。前两种都存在龙格现象,而且并不可以全面呈现被插值函数的性态,因此不做介绍。(当然也是因为我功底不够,后期有机会细学的话再来介绍这部分内容)

1.分段三次埃尔米特插值法

2.三次样条插值

(四)基于分段三次埃尔米特插值法和三次样条插值法的matlab实现

1.一维角度

我们通过绘制y = 在[0,+2pi]上的插值来做练习。

% 分段三次埃尔米特插值pchip(x,y,new_x),x是已知的原样本点的横坐标,y是对应的纵坐标。new_x是指所插入的横坐标,p指对应的所插入点的纵坐标。
% 三次样条插值spline(x,y,new_x)
% legend(str1,str2,···),把str1,str2,······标注到图中
clear;clc
x = 0:1:2*pi;
y = sin(x);
new_x = 0:0.01:2*pi;
p1 = pchip(x,y,new_x);
p2 = spline(x,y,new_x);
figure;
plot(x,y,':*m')
figure;
plot(new_x,p1,':*b')

结果:

数学建模之插值算法,数学建模,数学建模,算法
插值前的sin函数图像
数学建模之插值算法,数学建模,数学建模,算法
插值后的sin函数图像
数学建模之插值算法,数学建模,数学建模,算法
放大后的图像

2.多维角度

先来一个简单点的:

% p1 = interpn(x1,x2,...xn,y,new_x1,new_x2...,new_xn,method)
% x1,x2,...xn是指原先样本点的横坐标,y是已知样本点的纵坐标;
% new_x1,new_x2...,new_xn则是指所插入的点的横坐标;
% method是要插值的方法,通常包括:'linear':线性插值
% 'cubic':三次插值
% 'spline':三次样条插值
% 'nearest':最邻近插值算法
clear;clc
x = -5:1:5;
y = x;
new_x = -5:0.5:5
p1 = interpn(x,y,new_x,'pchip'); %三次埃尔米特插值
figure;
plot(x,y,'*:')
figure;
plot(new_x,p1,'*:')

数学建模之插值算法,数学建模,数学建模,算法

数学建模之插值算法,数学建模,数学建模,算法

补充说明:1.为什么出现P(x)是次数不超过n的代数多项式?

答:对插值多项式而言,并非n越大误差越小。在高次插值过程中,会发生Runge(龙格现象):两端处波动极大,产生明显震荡。因此在不熟悉曲线运动趋势的前提下,不建议使用高次插值。

2.数学推导在哪里看?

几种插值算法对比_插值方式最优越的是-CSDN博客

线性插值、抛物插值、Lagrange插值 | Lagrange拉格朗日插值法(一)-CSDN博客

我一个学工科的,行行好别太为难我,请参考这两篇文章(反正我这个小趴菜做不出厉害的数学推导哈哈哈哈)

行至文末,感谢看完我这个小水货的文章。

复变函数与积分变换 56集 李红 华中科技大学文章来源地址https://www.toymoban.com/news/detail-821100.html

到了这里,关于数学建模之插值算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模——插值与拟合

    插值与拟合在建模过程中是一种十分重要的方法,由于赛题中给出的数据可能出现缺失,此时就需要用到插值的方式来对数据进行补全,又或者是给出一部分数据,需要你对未来一部分数据进行预测,这个时候就需要用到拟合的相关知识。 在实际中,常常要处理由实验或测量

    2024年02月01日
    浏览(59)
  • 数学建模——插值(下)

    本文是面向数学建模准备的,是介绍性文章,没有过多关于原理的说明!!! 目录 一、2维插值原理及公式 1、二维插值问题 2、最邻近插值 3、分片线性插值 4、双线性插值 5、二维样条插值 二、二维插值及其Matlab工具箱 1、已知网格节点(xi,yj,zij)(i=1,2,…,m,j=1,2,…,n),且满足

    2024年02月12日
    浏览(47)
  • 数学建模——插值(上)

    本文是面向数学建模准备的,是介绍性文章,没有过多关于原理的说明!!! 已知区间[a,b]上有系列观测值(xi,yi),i=0,1,2,…,n,求一条曲线把这些点依次连接起来,称为插值,这条曲线的表达式f(x)称为插值函数。一般f(x)解析式也是未知的。  最简单、最直观的做法就是把两个

    2024年02月13日
    浏览(75)
  • 数学建模 -- 插值与拟合

    灰色预测要等时距 已知函数在某区间内若干点处的值,求函数在该区间内其他点处的值。这种问题适合用插值的方法解决。 拉格朗日插值法:用的不多,在边缘处容易出现Runge现象。 高次插值的Runge现象:当插值多项式的次数超过7时,插值多项式会出现严重的震荡现象。 避

    2024年02月13日
    浏览(27)
  • 数学建模实验-插值和拟合

    1.  掌握各种数据插值方法的 MATLAB 实现方法; 2.  掌握数据拟合的 MATLAB 实现方法。 1.  已知平面区域 0  ≤  x  ≤  4800  , 0  ≤  y  ≤  5600的高程数据如data5_1.xlsx所示。 试用二维插值求x,y方向间隔都为50m的高程,并画出该区域的等高线图。 表格数据如图: 2. 在一次

    2024年04月12日
    浏览(26)
  • 数学建模——二维散乱点插值

    最后的效果图:  

    2024年02月13日
    浏览(30)
  • 数学建模之插值法

    数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“ 模拟产生 ”一些新的但又比较靠谱的值来满足需求,这就是插值的作用。 那什么是插值法? 插值法又可以分

    2024年02月03日
    浏览(39)
  • 【数学建模】《实战数学建模:例题与讲解》第四讲-插值与拟合(含Matlab代码)

    如果这篇文章对你有帮助,欢迎点赞与收藏~ 在实际问题中,对于给定的函数 y = f(x) ,通常通过实验观测在某个区间 [a, b] 上一系列点 x_i 上的函数值 y_i = f(x_i) 得到。当需要在这些观测点 x_0, x_1, ..., x_n 之间的某些点 x 上估计函数值时,插值法和拟合是两种常用的数学方法。

    2024年02月05日
    浏览(37)
  • 【MATLAB 数学建模】 插值方法 数据拟合

    一维插值是一种在给定有限数据点集合的情况下,通过构建一个函数来近似估计这些数据点之间的值。它基于假设,在相邻数据点之间存在某种连续性或平滑性。 一维插值常用于曲线拟合、曲线重建和数据补全等应用中。其中最简单的一种插值方法是线性插值,即通过连接相

    2024年02月08日
    浏览(39)
  • 数学建模学习笔记(一):插值法

    本文主要内容是分享博主在学习MATLAB插值与拟合过程中的一些笔记与见解,并记录使用代码实现的过程 一维插值问题可描述为:已知函数在 x 0 , x 1 , … , x n x_0,x_1,…,x_n x 0 ​ , x 1 ​ , … , x n ​ 处的值 y 0 , y 1 , … , y n y_0,y_1,…,y_n y 0 ​ , y 1 ​ , … , y n ​ ,求简单函数 p (

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包