Engee 文档

样条线

三次样条数据插值。

库::`工程师`

语法

函数调用

  • [参数:pp]=样条(<参数:x>>,<参数:y>>) — 返回分段多项式结构。

争论

输入参数

# x — 坐标_x_

+ 向量资料

Details

坐标 x,设置为向量。 向量资料 x 定义设置数据的点 [参数:y]. 元素 x 它们必须是独一无二的。

三次样条插值至少需要 4 分。 如果可用 23 点分别应用线性或二次插值。

数据类型

漂浮物32, 漂浮64</无翻译>

# y 是 函数在指定坐标_x处的值_

+ 向量资料 | 矩阵 | 阵列

Details

坐标中的函数值 [参数:x],指定为数值向量、矩阵或数组。 争论 [参数:x]y 它们通常具有相同的长度,但 y 它也可以有两个以上的元素。 [参数:x],以指定最终斜率。

如果 y -矩阵或数组,然后是最后一个维度中的值, y(:,。..,:,j),均取为要与之比较的值 [参数:x]. 在这种情况下,最后一个维度是 y 长度必须与 [参数:x],或者正好有两个元素。

三次样条的最终斜率遵循以下规则:

  • 如果 [参数:x]y -矢量大小相同,则使用条件"不是节点"。

  • 如果 [参数:x]y 是一个标量,然后它扩展到与另一个相同的长度,并且使用条件"不是节点"。

  • 如果 y -包含两个元素的向量 [参数:x],然后样条使用第一个和最后一个值在 y 作为三次样条的最终斜率。 例如,如果 y -矢量,然后:

    • y(2:端-1) 返回每个点的函数值 [参数:x];

    • y(1) 返回位于点的间隔开始处的斜率 min(<参数:x>>);

    • y(完) 返回位于点的间隔结束处的斜率 最大值(<参数:x>>).

  • 同样,如果 y -矩阵或 -尺寸的维数组 尺寸(y,N),等于 长度(<参数:x>>)+2 然后:

    • y(:,。..,:,j+1) 返回每个点的函数值 [参数:x]j=1:长度(<参数:x>>);

    • y(:,:,。..:,1) 返回位于点的间隔开始处的斜率 min(<参数:x>>);

    • y(:,:,。..:,结束) 返回位于点的间隔末尾的斜率 最大值(<参数:x>>).

数据类型

漂浮物32, 漂浮64</无翻译>

# xq — 查询点

+ 标量,标量 | 向量资料 | 矩阵 | 阵列

Details

指定为标量、向量、矩阵或数组的查询点。 积分设置 xq系列,表示坐标 [参数:x] 插值函数值 yq 使用样条计算。

数据类型

漂浮物32, 漂浮64</无翻译>

输出参数

# s — 查询点的插值值

+ 标量,标量 | 向量资料 | 矩阵 | 阵列

Details

作为标量、向量、矩阵或数组返回的查询点处的插值值。

大小 s 与尺寸有关 [参数:y][参数:xq]:

  • 如果 [参数:y] -矢量,然后 s 大小与 [参数:xq].

  • 如果 [参数:y] -大小的数组 Ny=大小(<参数:y>>),则适用以下条件:

    • 如果 [参数:xq] -标量或矢量,然后 尺寸(s) 申报表 [Ny(1:end-1)长度([参数:xq])];

    • 如果 [参数:xq] -一个数组,然后 尺寸(s) 申报表 [Ny(1:end-1)尺寸(<参数:xq>>)].

# pp 是 分段多项式

+ 结构

Details

作为结构返回的分段多项式。 结构包含表中显示的字段。

领域 资料描述

表格

pp的 对于分段多项式

休息时间

长度向量 严格增加的元素代表每个 间隔时间

coefs

矩阵尺寸 其中每行 coefs(我,:) 包含阶多项式的局部系数 -m间隔, [休息(i),休息(i+1)]

零件数目

秩序

多项式的程度

昏暗

目标的维度

由于多项式的系数在 coefs 是每个区间的局部系数,有必要减去相应节点区间的下界,以便使用通常的多项式方程中的系数。 换句话说,对于系数 在间隔 对应的多项式为:

例子:

正弦数据的样条插值

Details

我们使用 样条 在不均匀间隔的采样点上插值正弦曲线.

import EngeeDSP.Functions: spline
x = [0, 1, 2.5, 3.6, 5, 7, 8.1, 10]
y = sin.(x)
xx = 0:0.25:10
yy = spline(x, y, xx)

plot(x, y, seriestype=:scatter, markersize=6, legend=false)
plot!(xx, yy, linewidth=2, legend=false)

spline 1

建议

样条插值也可以使用函数执行 国际刑警组织 使用命令 interp1(x,y,xq,"样条"). 功能 样条 沿着输入矩阵的行执行插值,并且函数 国际刑警组织 -通过输入矩阵的列。

算法

求解三对角线线性系统(可能具有几个右侧)以获得描述组成插值样条的各种三次多项式的系数所必需的信息。

文学作品

  1. 德布尔,卡尔。 样条的实用指南。_Springer-Verlag,纽约:1978。