MATLAB fnplt中的向量输入有什么作用?

西布斯赌博

fnplt的文件

[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

给我这个

在此处输入图片说明

我如何看待结果?

Suever

尽管样条线根据已知xy构造的,但它不再是x的函数y相反,它是沿样条曲线的弧长的函数。因此,您作为第二个输入提供的向量fnplt是该参数的范围而不是xand 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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章