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


