公司网站制作找哪家,食品包装设计公司排名,软硬件开发都包括什么,湛江手机网站建设插值算法
在数模比赛中#xff0c;很多类型的题目都需要根据已知的函数点进行数据分析和模型处理#xff1b;
当此时题目所给的数据较少时#xff0c;我们就无法进行准确科学的分析#xff0c;所以需要更多的数据#xff0c;也就是函数点#xff1b;
这就需要使用数学…插值算法
在数模比赛中很多类型的题目都需要根据已知的函数点进行数据分析和模型处理
当此时题目所给的数据较少时我们就无法进行准确科学的分析所以需要更多的数据也就是函数点
这就需要使用数学方法模拟生成一些新的、较靠谱的值来满足需求这就是插值的作用。
插值算法有很多种一般的插值法使用的是多项式原理也就是使用多项式来拟合出一个过已知所有点的函数在此基础上还有拉格朗日插值法但是它们都有一个缺点那就是会出现龙格现象函数两端处波动极大出现明显的震荡取值十分不准确。
为了克服这个问题我们一般使用分段插值也就是在每两个点之间确定一条直线作为插值函数而最常用的就是分段二次插值每次选取三个函数点拟合出一个二次函数。这种方法得到的函数较为准确。
为了使函数更准确我们进一步使用埃尔米特插值这种插值算法不但要求在节点上的函数值准确还要求对应的导数值也准确。
综上我们得到了两种较为准确的插值算法结合这两者就得到了可以满足数模比赛解题需求的分段三次埃尔米特插值这种算法不需要我们自己实现matlab中已经有了相应的函数同时matlab中还有另外一种插值函数名叫三次条样插值这两个都需要我们掌握。
代码详解
% 分段三次埃尔米特插值
x -pi:pi; y sin(x);
new_x -pi:0.1:pi;
p pchip(x,y,new_x);
figure(1); % 在同一个脚本文件里面要想画多个图需要给每个图编号否则只会显示最后一个图哦~
plot(x, y, o, new_x, p, r-)% plot函数用法:
% plot(x1,y1,x2,y2)
% 线方式 - 实线 :点线 -. 虚点线 - - 波折线
% 点方式 . 圆点 加号 * 星号 x x形 o 小圆
% 颜色 y黄 r红 g绿 b蓝 w白 k黑 m紫 c青% 三次样条插值和分段三次埃尔米特插值的对比
x -pi:pi;
y sin(x);
new_x -pi:0.1:pi;
p1 pchip(x,y,new_x); %分段三次埃尔米特插值
p2 spline(x,y,new_x); %三次样条插值
figure(2);
plot(x,y,o,new_x,p1,r-,new_x,p2,b-)
legend(样本点,三次埃尔米特插值,三次样条插值,Location,SouthEast) %标注显示在东南方向
% 说明
% LEGEND(string1,string2,string3, …)
% 分别将字符串1、字符串2、字符串3……标注到图中每个字符串对应的图标为画图时的图标。
% ‘Location’用来指定标注显示的位置% n维数据的插值
x -pi:pi; y sin(x);
new_x -pi:0.1:pi;
p interpn (x, y, new_x, spline);
% 等价于 p spline(x, y, new_x);
figure(3);
plot(x, y, o, new_x, p, r-)% 人口预测注意一般我们很少使用插值算法来预测数据随着课程的深入后面的章节会有更适合预测的算法供大家选择例如灰色预测、拟合预测等
population[133126,133770,134413,135069,135738,136427,137122,137866,138639, 139538];
year 2009:2018;
p1 pchip(year, population, 2019:2021) %分段三次埃尔米特插值预测
p2 spline(year, population, 2019:2021) %三次样条插值预测
figure(4);
plot(year, population,o,2019:2021,p1,r*-,2019:2021,p2,bx-)
legend(样本点,三次埃尔米特插值预测,三次样条插值预测,Location,SouthEast)