将 spline 和 pchip 为两个不同函数生成的插值结果进行比较。

创建由 x 值、点 y 处的函数值以及查询点 xq 组成的向量。使用 spline和 pchip 计算查询点处的插值。绘制查询点处的插值函数值以进行比较。

clc;clear;

x = -3:3; %插值点x坐标

y = [-1 -1 -1 0 1 1 1]; %插值点y坐标

xq1 = -3:.01:3; %查询点

p = pchip(x,y,xq1); %返回查询点的y坐标

s = spline(x,y,xq1); %返回查询点的y坐标

plot(x,y,'o',xq1,p,'-',xq1,s,'-.')

legend('Sample Points','pchip','spline','Location','SouthEast')

注:蓝色圆圈是被插值样本点。

可以看到:样条曲线(其实也是分段多项式)在两边有轻微震荡现象,但更加光滑,因为它要求在插值点处插值函数连续,

插值函数一阶导连续,插值函数二阶导连续,而三次分段Hermite插值函数则比价稳定,但不如样条标线的那样光滑,因为

它只要求在插值点处插值函数连续,插值函数的一阶导连续。

例2

x = -5:5;

y= [1 1 1 1 0 0 1 2 2 2 2];

p=pchip(x,y);

xq= -5:0.2:5;

pp= ppval(p,xq); %返回插值函数的查询点处的y坐标

plot(x,y,'o',xq,pp,'-.')

ylim([-0.2 2.2])

例3

x = -5:5;

y= [1 1 1 1 0 0 1 2 2 2 2];

p=pchip(x,y);

s=spline(x,y);

xq= -5:0.1:5;

pp= ppval(p,xq); %返回插值函数的查询点处的y坐标

ss= ppval(s,xq); %返回插值函数的查询点处的y坐标

figure(1);hold on;plot(x,y,'o',xq,pp,'-.',xq,ss,'b-')

ylim([-0.2 2.2])

figure(1);hold on ;legend('Sample Points','分段三次Hermite','分段三次样条','Location','SouthEast')

PCHIP是分段三次hermit插值,但书中的该方法必须知道点的值和导数值,为什么PCHIP的变量只有函数值而没有导数值?

在用pchip插值的过程中,matlab会基于所给的函数值来帮你估算各导数值。估算的原则是保证导数值能够正确的反映散点图的形状和变化趋势。比如在散点图是单调递增的区间内,相应点的导数值就会是正的;在散点图表现出存在局部极值点的区间,相应的导数也会产生正负的变化。

在matlab的帮助里可以找到详细的解释,但要了解算法的细节,就要看pchip的函数文件了。

三次hermite插值多项式例题_分段三次Hermite插值及其与三次样条的比较相关推荐

  1. 分段二次插值例题_分段三次插值

    摘 要 用函数来表示变量间的数量关系广泛应用于各学科领域,但是在实际 问题中,往往是通过实验.观测以及计算等方法,得到的是函数在一些点 上的函数值. 如何通过这些离散数据找到函数的一个满足精度要求且便 ...

  2. 分段二次插值例题_分段低次插值克服了高次插值多项式可能产生震荡的不足,但分段低次插值函数在整个插值区间上不能保证...

    [单选题]43. ---I heard you had left our Disneyland admission coupons at home. [多选题]下列各式中,其计算结果等于贡献边际率的有 ...

  3. java三个线程 顺序执行_如何确保三个线程顺序执行

    三个线程t1.t2.t3.确保三个线程,t1执行完后t2执行,t2执行完后t3执行. 一.使用join thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程. ...

  4. 华三路由交换配置命令_华三路由器交换机配置命令

    路由器 : 1 . 进入 SETUP 模式 Router#setup 2 . 时间设置 router#clock set hh:mm:ss date moth year 3 . router>s ...

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

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

  6. 插值与拟合 (一) : 拉格朗日多项式插值 、Newton插值 、分段线性插值、Hermite插值 、样条插值、 B 样条函数插值、二维插值

    插值:求过已知有限个数据点的近似函数. 拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小. 插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似 ...

  7. 【数学与算法】【分段三次Hermite插值】和【分段三次样条插值】

    光滑曲线在数学上的定义是什么?? 原文链接:光滑曲线在数学上的定义是什么? 回答1: 定义:切线随切点的移动而连续转动. 若函数f(x)f(x)f(x)在区间(a,b)(a,b)(a,b)内具有一阶连 ...

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

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

  9. 机器人路径规划之分段三次Hermite插值(PCHIP) [包括Python和Matlab代码实现]

    前言 在机器人的路径规划中针对离散采样点做插值计算生成平滑的曲线轨迹也是挺重要的一部分,本文主要介绍一下目前使用较多也是个人觉得挺好用的一个插值方法--分段三次 Hermite 插值(PCHIP),并 ...

  10. 2021-07-21 分段三次Hermite插值及其与三次样条的比较

    Numpy数组自身加和与乘积运算 http://www.weixueyuan.net/a/794.html python-scipy -hermite插值,分段三次Hermite插值 import n ...

最新文章

  1. edge.js架起node.js和.net互操作桥梁
  2. 面试:TCP协议经典十五连问!
  3. android读取SDCard任意路径下的文件
  4. 【Android 逆向】frida 框架安装 ( 设置 Python 3.7 版本 | 安装 frida 12.7.5 版本 | 安装 frida-tools 5.1.0 版本 )
  5. python 列表解析式_python列表解析式,字典解析式,集合解析式和生成器
  6. Java006-面向对象(继承)
  7. Linux namespace之:uts namespace
  8. 分布式系统接口幂等性
  9. 测试开发工程师面试题目
  10. 高数 | 【多元函数微分学】全微分不变性、隐函数求导辨析
  11. 浅谈临床研究中随机化
  12. 【ZOJ2750】Idiomatic Phrases Game(最短路)
  13. 永远闪亮,网的眼睛 (转)
  14. NOI openjudge 计算2的N次方
  15. 信息孤岛的由来,以及如何改善
  16. 对于自我的反省 - 对底层人民认知产生的商业思考
  17. QMetaMethod::invoke: Unable to invoke methods with return values in queued connections
  18. 【python】.pyx文件编译为.pyd过程中遇到的问题
  19. 计算机专业团队研修方案,工作室研修方案
  20. 初中使用计算机教学反思,初中信息技术教学反思(通用5篇)

热门文章

  1. 博客营销推广方案 方法
  2. UnityEditor-Windows编辑器与Inspector编辑器
  3. 解决win10学习汇编工具的烦恼——汇编学习工具DOSBox0.74的下载和使用(包含可用下载链接)
  4. matlab峰值提取,如何从MATLAB中的自相关数据中提取峰值?
  5. 安卓ADB和Fastboot最新官方下载链接
  6. C语言股票交易软件,甩手掌柜股票自动交易程序(2021年5月版)
  7. 计算机毕业设计JAVA‘大学生心理健康咨询管理系统mybatis+源码+调试部署+系统+数据库+lw
  8. firefox 邮箱分类过滤
  9. DRM-widevine 总结
  10. vue移动端小说阅读器vue全家桶项目,已部署到服务器可访问预览