评估样条的基函数的意义是什么?

What is the meaning of evaluating a spline's basis function?

我正在尝试了解实现 bspline 基函数的工作流程。

tauf    Vd
0        0
0.048   502.8944826
0.072   743.5034753
0.096   791.2514106
0.12    825.3244319
0.144   858.1731717
0.168   889.1381766
0.192   922.4214306
0.216   952.9989296
0.24    982.8650001

basisValueMat_f的结果:

1.000   0.000   0.000   0.000   0.000   0.000
0.000   0.076   0.551   0.364   0.009   0.000
0.000   0.013   0.393   0.533   0.062   0.000
0.000   0.000   0.234   0.596   0.170   0.000
0.000   0.000   0.121   0.547   0.331   0.001
0.000   0.000   0.057   0.420   0.496   0.027
0.000   0.000   0.023   0.273   0.591   0.114
0.000   0.000   0.007   0.140   0.570   0.283
0.000   0.000   0.001   0.044   0.408   0.547
0.000   0.000   0.000   0.001   0.085   0.914
0.000   0.000   0.000   0.000   0.000   1.000

图示:

代码:

norder = 4;    % degree - 1
nbreaks = 2;
nbasis = nbreaks + norder - 2;
breaks = linspace(0,taufmax,nbreaks)';
wtaubasis = create_bspline_basis([0,max(breaks)], nbasis, norder, breaks);
basisValueMat_f = full(eval_basis(wtaubasis, tauf)); 

请帮助我了解 create_bspline_basiseval_basis 函数的作用。我需要对这些信息进行数学解释。

Basis functions are like "building blocks" for approximating functions in an interval. As you can see from your plot, several basis functions are used to approximate your source function. The more complex the original function, the more basis functions would be needed to approximate it with some given error. Take a look at this animation explaining the Fourier series方波:

傅里叶变换(FT;在上面的动画中显示为蓝色 S(f))显示与您的 "slice" 相同类型的信息图表:

不同之处在于,在维基百科的 FT 示例中,基函数(正弦 and/or 余弦)的幅值在整个区间内是恒定的,但在样条插值示例中,基函数的幅值(多项式)在整个区间内平滑变化。

最后,回答你的问题,评估基函数可以告诉你在给定点(或区间)哪个是最主要的基函数。我能想到的一种用途是 - 如果某些功能比其他功能更占主导地位(如图表中点“1”的情况),则可以完全忽略 "unimportant" 功能,同时保持整体插值相当准确 - 这可能有一些计算优势。