2026a

# newknt


新断点分布

函数库: TyCurveFitting

# 语法

newknots, distfn = newknt(f, newl)
_ = newknt(f)

# 说明

newknots, distfn = newknt(f, newl) 返回一个断点序列newknots 以及以 pp 型返回均分布的分段线性单调函数 distfn。newknots 断点将 f 的基本区间划为 newl 份,且使得与 f 的高阶导数相关的一个分段线性单调函数 distfn 平均分布。示例

函数的开发目的在于选取一个适合于对函数 g 的好的估计的断点序列,其中 g 满足在 f 中的粗略估计预估中含有 g 的足够信息即可使得估计可以完成。


_ = newknt(f) 使 newl 为默认值,即 f 的多项式分段的段数。

# 示例

如果对数据 x, y 的最小二乘 k 阶样条估计 sp 看上去不均匀,可以尝试使用

spap2(newknt(sp), k, x, y)

来找到更平均的分布。

新断点分布

给定 k = 3 和严格增序列 breaks = 0:0.1:pi ,生成正弦函数在区间 [0, pi] 的样条插值。

using TyCurveFitting
k = 3
breaks = collect(0:0.1:pi)
t = augknt(breaks, k)[1]
x = aveknt(t, 3)
sp = spapi(t, x, sin.(x))

对该样条插值生成新的断点分布。

newknt(sp, 4)[1]
ans = 9-element Vector{Float64}:

 0.0
 0.0
 0.0
 0.6551181888158768
 1.5147519913252059
 2.441188308513131
 3.1
 3.1
 3.1

另一个例子,可以见“使用配置法求解带边界层的非线性常微分方程。”

# 算法

这是 Fortran 在 PCG 中的进程 NEWNOT。其中 k 为 pp 中分段多项式函数 f 的阶数,函数 局部、分离的插值得到的分段常函数所估计。新结点序列选为使分段多项式f的基本区间分离以满足

# 另请参阅

aveknt