# pchip_core


分段三次 Hermite 插值多项式 (pchip) 核心算法函数

函数库: TyMath

# 语法

p = pchip_core(x,y,xq)

# 说明

p = pchip_core(x,y,xq) 返回与 xq 中的查询点对应的插值 p 的向量。p 的值由 x 和 y 的保形分段三次插值确定。示例

该函数为 pchip 算法核心函数,对输入要求更严格 :
1. x 必须为严格单调递增向量
2. x、y、xq 必须为 AbstractVector 子类型
3. x、y 长度相同
4. x 长度大于 2

# 示例

基于粗略采样的正弦函数进行插值

定义样本点 x 及其对应样本值 y。

using TyMath
using TyPlot
x = 0:pi/4:2*pi 
y = sin.(x)

将查询点定义为 x 范围内更精细的采样点。

xq = 0:pi/160:2*pi

在查询点插入函数并绘制结果。

figure()
p = pchip_core(x,y,xq)
hold("on")
plot(xq,p)
plot(x,y,"o",markeredgecolor = "k",markerfacecolor = "#FFFF00")
title("pchip_core-method interpolation")
xlabel("xdata")
ylabel("value")
hold("off")

# 输入参数

x - 样本点
向量

样本点,指定为实数向量。x 中的值必须严格单调递增。

示例: 1:10

示例: [3,6,9,12,15,18,21]

数据类型: Int | Float

y - 样本值
向量

样本点处的函数值,指定为数值向量。x 和 y 的长度必须相同。

示例: 1:10

示例: [1,2,3,5,7,10,13]

数据类型: Int | Float

xq - 查询点
向量

查询点,指定为向量。xq 中指定的点是 pchip_core 计算出的插值函数值 p 的 x 坐标。

示例: 1:0.05:10

示例: [1,2,3,4,5,6,7,8,9,10]

数据类型: Int | Float

# 输出参数

p - 查询点位置的插值
向量

插入的值,以向量的形式返回。

p 的大小与 xq 的大小相同。

数据类型: Int | Float

# 另请参阅

interp1 | interp2 | interp3 | interpn | griddedInterpolant