[a,b]形式的向量,表示在f中绘制单变量函数的时间间隔。
因此,我认为矢量[a, b]
意味着绘制样条曲线s
中落入间隔的部分[a, b]
。但是以下实验似乎并不支持我的这种解释。
跑步
x = [0.16;0.15;0.25;0.48;0.67];
y = [0.77;0.55;0.39;0.22;0.21];
spcv = cscvn([x, y].');
fnplt(spcv); % plot the full curve
hold on;
fnplt(spcv,[0.3,0.4],'r'); % plot the "[0.3, 0.4] part" in RED
fnplt(spcv,[1,2],'g'); % plot the "[1, 2] part" in GREEN
给我这个
我如何看待结果?
尽管样条线是根据已知点x
和y
点构造的,但它不再是x
和的函数y
。相反,它是沿样条曲线的弧长的函数。因此,您作为第二个输入提供的向量fnplt
是该参数的范围,而不是x
and y
。
如果要确定传递给正确的范围,以fnplt
使样条曲线的每个部分(在连续的输入点之间)具有不同的颜色,则可以使用的输出cscvn
来确定每个输入点处的参数值。
spcv = cscvn([x, y].');
% form: 'pp'
% breaks: [0 0.4693 0.9037 1.4385 1.8746] <---- These are the parameter values
% coefs: [8x4 double]
% pieces: 4
% order: 4
% dim: 2
具体来说,我们可以使用该breaks
字段来确定与每个输入点相对应的参数值,并且可以遍历这些值以使用来独立绘制每个部分fnplt
。
colors = 'rgbc'
for k = 1:(numel(x) - 1)
fnplt(spcv, spcv.breaks([k k+1]), colors(k));
hold on
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句