# bspline
绘制B样条及其多项式片段
函数库: TyCurveFitting
# 语法
bspline(t)
bspline(t,window)
pp = bspline(t,out = false)
# 说明
bspline(t) 绘制节点序列为 t 的 B 样条曲线,以及组成它的多项式片段。 示例
bspline(t,window) 在指定的子图窗口 window 中绘制具有节点序列 t 的 B 样条以及组成它的多项式片段。
pp = bspline(t, out = false) 指示样条返回指示,如果该项为 true,函数不绘制任何内容而是返回 B 样条的 pp 型。
# 示例
绘制4阶B样条
此示例说明如何使用 bspline 函数创建 4 阶 B 样条。
创建节点序列并绘制B样条
该图显示了一个 4 阶 B 样条和组成它的四个三次多项式。
要在 Syslab 中复制此图,首先要创建一个节点序列。节点序列必须是非递减的。
using TyCurveFitting
t = [0 1.5 2.3 4 5]
由于已经定义了五个节点,B 样条将是 4 阶的。
然后使用 bspline 函数绘制带有节点序列 t 的 B 样条及其多项式片段。
bspline(t)
此 B 样条由 4 个多项式组成:图中的红色、绿色、紫色和黑色曲线,每个度数均为 3。
垂直线标记之前定义的节点 t。
具有节点 t[i]≤····≤ t[i + k] 的 B 样条在区间 (t[i]..t[i + k]) 上为正,并且在该区间外为零。它是阶数为 k,在位点 t[i],...,t[i + k] 有断点的分段多项式。这些节点可能重合,其重数决定了两个多项式片段连接的光滑程度。
在新的子图中绘制另一个B样条
创建第二个节点序列。
t2=[2 3 4 5]
在同一图的不同的子图中绘制带有节点序列t2的B样条。
bspline(t,1)
bspline(t2,2)
# 输入参数
t - 样条的节点序列向量(默认)
B 样条节点的非递减序列,指定为向量。
数据类型: Int | Float
window—子图窗口标量(默认)
2x2窗口子图的索引,指定为标量。该值必须小于5。
数据类型: Int
out — 样条返回指示false(默认) | true
样条返回指示,指定为 true 或 false 。如果该项为 true,函数不绘制任何内容而是返回 B 样条的 pp 型。
数据类型: Bool
# 输出参数
pp-样条结构体样条结构体
pp型的样条,为带有以下元素的结构体。关于 pp 样条的更多信息,参照 pp 型。
Form - 样条格式"pp"
样条的格式,以 "pp" 返回。"pp" 样条是以分段多项式的形式给出。
数据类型: String
Breaks-样条节点位置向量 | 数组元组
样条节点位置,单变元时以向量,多变元时以向量元组形式返回。向量包含严格增元素,逐点分别表示各段多项式定义区间的左右端点。
数据类型: Int | Float
Coefs - 多项式的系数矩阵 | 数组
各段多项式的系数,单变元时以矩阵,多变元时以数组形式返回。
数据类型: Int | Float
Pieces - 多项式分段段数标量 | 向量
描述样条的多项式分段的段数,单变元时以标量,多变元时以各变元段数组成的向量形式返回。
数据类型: Int
Order - 多项式阶数标量 | 向量
描述样条的分段多项式的阶数,单变元时以标量,多变元时以各变元阶数组成的向量形式返回。
数据类型: Int
Dim - 维数标量
目标函数的维数,以标量形式返回。
数据类型: Int