我正在尝试了解实现 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));
请帮助我了解 thecreate_bspline_basis
和eval_basis
函数的作用。我需要对这些信息进行数学解释。