数模算法:插值算法

引入:

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

常用方法:

分段三次埃尔米特插值
在这里插入图片描述
直接使用Hermite插值得到的多项式次数较高,也存在着龙格现象(次数越高两端出现震荡现象), 因此在实际应用中,往往使用分段三次Hermite插值多项式(PCHIP)。

Matlab有内置的函数,配合plot函数画图

p = pchip(x,y,new_x)

x是已知的样本点的横坐标;y是已知的样本点的纵坐标;new_x是要插入处对应的横坐标
例如

x=-pi:pi;
y=cos(x);
new_x=-pi:0.1:pi;%要插值的点
p=pchip(x,y,new_x);
figure(1)%为图片编号
plot(x,y,'o',new_x,p,'b-')

结果
在这里插入图片描述

三次样条插值
在这里插入图片描述
Matlab有内置的函数:
p = spline(x,y,new_x); 等价于 p = interpn(x, y, new_x, ’spline’);

x是已知的样本点的横坐标;y是已知的样本点的纵坐标;new_x是要插入处对应的横坐标
例如

x=-pi:pi;
y=cos(x);
new_x=-pi:0.1:pi;%要插值的点
p1=pchip(x,y,new_x);%分段三次埃尔米特插值
p2=spline(x,y,new_x);%三次样条插值
figure(1)%为图片编号
plot(x,y,'o',new_x,p1,'b-',new_x,p2,'r-')
%标注显示在东南方向
legend('样本点','分段三次埃尔米特插值','三次样条插值','Location','SouthEast')

结果对比
在这里插入图片描述

插值算法也可用于预测

实例:预测接下来三年的人口数据
在这里插入图片描述
matlab代码

%数据存在X,Y变量中
P=X;
year=Y;
p1=pchip(year,P,2019:2021);
p2=spline(year,P,2019:2021);
figure(1);
plot(year,P,'o',2019:2021,p1,'b*-',2019:2021,p2,'r*-')
legend('样本点','分段三次埃尔米特插值','三次样条插值','Location','SouthEast')

结果
在这里插入图片描述
在这里插入图片描述

建模应用实例:

MathorCup第六届A题淡水养殖池塘水华发生及池水净化处理,插值预测中间周的水体评价指标
对1号池给出数据的指标插值得到其他数据
在这里插入图片描述
matlab代码

%导入数据
load Data.mat
[n,m]=size(Data);
%星期数
W=Data(1,:);
disp(['共需要对' num2str(n-1) '个指标插值']);
%要插值的指标
targetname={'周数','轮虫','溶氧','COD','水温','PH值','盐度','透明度','总碱度','氯离子','透明度','生物量'};
P=zeros(11,15);
for i=2:n
    y=Data(i,:);%取出原有的每行数据
    new_x=1:15;%要插值的x
    p1=pchip(W,y,new_x);%三次埃尔米特插值
    p2=spline(W,y,new_x);%三次样条插值
    
    figure(1);
    subplot(4,3,i-1);%将所有图放在4*3大图上
    plot(W,y,'o',new_x,p1,'r*-');
    axis([0 15,-inf,inf])%设置横坐标轴范围,星期数,纵坐标不变
    ylabel(targetname{i});%y坐标标题
    figure(2);
    subplot(4,3,i-1);%将所有图放在4*3大图上
    plot(W,y,'o',new_x,p2,'b*-');
    axis([0 15,-inf,inf])%设置横坐标轴范围,星期数,纵坐标不变
    ylabel(targetname{i});%y坐标标题
   
    P(i-1,:)=p1;%结果保存
end
legend('原始数据','插值后数据','Location','SouthEast')
P=[1:15;P]%星期数加回第一行
    
    
    

三次埃尔米特插值结果
在这里插入图片描述
三次样条插值结果
在这里插入图片描述
最终数据
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自己做的本文主要研究淡水养殖池塘水华发生池水净化问题。在充分利用附件数据并对其进行统计学预处理的基础上,综合运用了模糊评价、最小距离聚类算法、多元线性回归、最小二乘分析等方法建立一系列数学模型,分析水华爆发原因并对其进行预测,最后结合模型提出解决该问题的养殖池塘净化方案。 针对问题一,为使数据更有效表示实际情况,通过数据差值图去除数据中的无效数据,并进行无量纲化处理。然后通过计算皮尔逊积矩相关系数定量地表示在不同环境下各理化因子含量之间的相关性强弱,并查阅文献解释造成相关性差异的生物学原理。 针对问题二,首先查阅国标确定选用溶氧量、 COD值、 水温与PH值作为评判标准参数。建立模糊评价模型来评判池塘水质恶劣程度。然后运用最小距离聚类算法得到恶劣程度的聚类中心,并将其分为Ⅰ类水、Ⅱ类水与Ⅲ类水三类。最终依据水质分类情况得出虾池相较鱼池整体水体质量较好的结论。 针对问题三,首先根据问题一模型与浮游生物分布情况得知浮游生物致害密度仅与池水中理化因子含量有关。然后建立多元线性回归模型研究池水中各理化因子与浮游生物致害密度的关系,通过建立各指标之间多元线性方程,预测出发生轻微水华时总磷、磷酸盐磷、总氮、硝态氮、亚硝态氮与铵态氮的临界含量分别为4.1230
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值