# 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