要求:完成下列这些数据的插值,并将结果保存到一个EXCEL表格中。要求至少选取两种插值方法,并对1号池中的这些指标做出插值后图像(显示在同一个图像中)

Z.mat

load Z.mat
x=Z(1,:) &1 3 5 7 9 11 13 15
[n,m]=size(Z)
Ytype={'周数','轮虫','溶氧','COD','水温','PH值','盐度','透明度','总碱度','氯离子','透明度','生物量'}
P=zeros(n-1,15)  %插值后得到的值可以先保存到一个矩阵中,然后再复制到Excel中
P1=zeros(n-1,15)

数据比较多,可以用循环方式进行插值

for i=2:ny=Z(i,:)new_x=1:15p=pchip(x,y,new_x) %调用三次埃尔米特插值函数p1=spline(x,y,new_x) %调用三次样条插值函数subplot(4,3,i-1) %将所有图依次变现在4*3的一幅大图上plot(x,y,'o',new_x,p,'k-',new_x,p1,'r-') %画出每次循环处理后的图像axis([0 15,-inf,inf]) %设置坐标轴的范围,这里设置横坐标轴0-15,纵坐标无要求xlabel('星期') %x轴标题ylabel(Ytype{i}) %y轴标题P(i-1,:)=p %插值结果保存在矩阵中P1(i-1,:)=p1
end

最后输出矩阵P和P1

完整代码如下:

load Z.mat
x=Z(1,:)
[n,m]=size(Z)
Ytype={'周数','轮虫','溶氧','COD','水温','PH值','盐度','透明度','总碱度','氯离子','透明度','生物量'}
P=zeros(n-1,15)
P1=zeros(n-1,15)
disp('正在进行三次埃尔米特插值与三次样条插值,请等待')
for i=2:ny=Z(i,:)new_x=1:15p=pchip(x,y,new_x) %调用三次埃尔米特插值函数p1=spline(x,y,new_x) %调用三次样条插值函数subplot(4,3,i-1) %将所有图依次变现在4*3的一幅大图上plot(x,y,'o',new_x,p,'k-',new_x,p1,'r-') %画出每次循环处理后的图像axis([0 15,-inf,inf]) %设置坐标轴的范围,这里设置横坐标轴0-15,纵坐标无要求xlabel('星期') %x轴标题ylabel(Ytype{i}) %y轴标题P(i-1,:)=p %插值结果保存在矩阵中P1(i-1,:)=p1
end
legend('原始数据','三次埃尔米特插值数据','三次样条插值','Location','SouthEast')
disp("三次埃尔米特插值结果")
P=[1:15;P]
disp("三次样条插值结果")
P1=[1:15;P1]

效果比较图:

【matlab】三次埃尔米特插值与三次样条插值的实际应用代码相关推荐

  1. 清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值

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

  2. 【插值】牛顿插值、拉格朗日插值、三次样条插值的Python代码实现

    插值简介 插值即根据有限的离散点绘制出穿过所有样本点的曲线,从直观上想象似乎画一条穿过n个特定点的曲线有无数种画法,但从数学意义上来说我们希望画出的曲线能够尽量平滑,震荡幅度尽量小能够在非样本点上符合 ...

  3. 数学建模——插值算法(分段三次埃尔米特插值、三次样条插值)思想及Matlab实现

    数模比赛中,常常需要根据已知的函数点进行数据.模型的处理和 分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,"模拟产生"一些新的但又比较靠谱的 ...

  4. python 插值_三次样条插值在Python中的实现

    什么是三次样条插值 三次样条插值(Cubic Spline Interpolation)简称Spline插值,是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程. 实际计 ...

  5. 数学建模十大算法02—插值与拟合(拉格朗日插值、三次样条插值、线性最小二乘法……)

    文章目录 引入 一.插值 1.1 分段线性插值 1.2 牛顿插值法 1.3 拉格朗日插值多项式 1.4 样条插值 1.4.1 三次样条插值 1.5 二维插值 1.5.1 插值节点为网格节点 1.5.2 ...

  6. 5.3 matlab数据插值(线性插值、最近点插值、埃尔米特插值、三次样条插值)

    ①数据插值可以根据有限个点的取值状况,合理估算出附近其他点的取值,从而节约大量的实验和测试资源,节省大量的人力.物力和财力. ②数据插值能够根据已知数据推算未知数据,这使得人们解决问题的能力得到了拓展 ...

  7. 【数学建模笔记】【第三讲】拉格朗日插值法,牛顿插值法,分段三次埃尔米特插值法及其MATLAB实践

    温馨提示:本文共有3748字,阅读并理解全文大概需要15-20分钟 插值算法 一.插值法的定义 1.插值函数一共有三种: 2.多项式插值法原理 3.分段插值法原理: 4.具体如何求插值函数呢? (1) ...

  8. 数学建模准备 插值(拉格朗日多项式插值,牛顿多项式插值,分段线性插值,分段三次样条插值,分段三次Hermite插值)

    文章目录 摘要(必看) 0 基础概念 什么是插值 插值用途 什么是拟合 插值和拟合的相同点 插值和拟合的不同点 1 常用的基本插值方法 1.1 多项式插值法 1.1.1 拉格朗日多项式插值法 多项式插 ...

  9. 数学建模插值法——三次埃尔米特插值三次样本插值(笔记)

    今天学习了插值法的matlab实现. 我们接触过五种基本的插值方法,有拉格朗日插值.牛顿插值.分段线性插值.分段三次Hermite插值和样条插值(三次). 插值法在数学建模中的应用:数模比赛中,常常需 ...

最新文章

  1. c语言编程将图片上下翻转,C语言实现矩阵翻转(上下翻转、左右翻转)
  2. java2d游戏代码_Java 2D游戏图形
  3. mac怎么实现文件读写c语言,使用Sublime Text和Xcode在Mac上进行文件输入/输出。 C语言...
  4. 【无标题】线程池中阻塞队列的作用,为什么是先添加队列而不是先创建最大线程
  5. python社区版可以用库么_应用Python,你不但能够得到出色的小区适用和普遍的库集...
  6. Emit学习-进阶篇-异常处理
  7. mac设置开机启动脚本或应用
  8. 单张像片空间后方交会
  9. Ubuntu安装N卡驱动
  10. U盘转换NTFS格式
  11. 新型材料集成墙面,到底“新”在哪里?
  12. 关于华为的工作情况的一些解答
  13. Java GC 介绍
  14. 刚从阿里、头条面试回来,java字符串截取后四位
  15. flex布局---flex-wrap属性,决定排列是否换行
  16. You do not have sufficient permissions to access the inventory ‘/u01/app/oraInventory‘.
  17. python外星人游戏制作
  18. Detours学习之十三:Detours API用于将dll和有效负载插入新进程的api
  19. MacOS搭建OpenCV开发环境(C++)
  20. IOS 使用BurpSuite抓包

热门文章

  1. 拼多多API接口大全
  2. 网大网剧备案要避免的几大错误,内附最新备案流程!
  3. Docker Dockerfile 验证Docker内部使用jmap报错问题解决
  4. LeetCode #739 - Daily Temperatures
  5. 【附源码】Python计算机毕业设计社区志愿者管理系统
  6. 《如何阅读一本书》—[美]莫提默.J.艾德勒、查尔斯.范多伦
  7. 安徽师范大学898专硕复习讲义
  8. 南农853计算机专业基础综合包括哪些,2017南京农业大学 南农大 853 计划机专业基础综合硕士招生考试大纲及参考书目.pdf...
  9. Java化小数为分数_杭电oj1717——小数化分数(java实现)
  10. NVML编译官方用例报错