我csape
在曲线拟合工具箱中使用了函数,它使用户可以选择两端的导数值。
有没有办法控制特定断点的导数值?
我想在一个断点处将导数的值之一设置为零,以使其成为最大值。
这是代码:
%% Times
k=0;
Tc = 1; %step time in second
Td = .15*Tc; %the DSP time
t0=k*Tc;
t1=t0+Td;
t2=t0+Tc;
t3=t2+Td;
Tm=.5*Tc;
tmaxh=t0+Tm;
%% Z Height
hgs=0;
hge=0;
Hao=.12;
Lan=.079;
Laf=.2;
Lab=.05;
Ds=.6;
Lao=.6667*Ds;
qb=10;
qf=10;
%% Spline generation using cublic spline.
tt=[t0 t1 tmaxh t2 t3];
zz=[hgs+Lan hgs+Laf*sind(qb)+Lan*cosd(qb) Hao hge+Lab*sind(qf)+Lan*cosd(qf) hge+Lan];
cs = csape(tt,zz,[1 0 0 0 1],[0 0 0 0 0])
figure
fnplt(cs)
在评论之后,%% Spline generation using cubic spline.
我有两个向量,一个用于时间,一个用于另一个随时间变化的值,我想制作三阶 b 样条。
我使用csape
它是因为它使用户能够确定端点的导数值。cs = csape(tt,zz,[1 0 0 0 1],[0 0 0 0 0])
那些是告诉工具在端点处进行一阶导数 = 0。
我希望时间 = tmaxh 出现的点是样条曲线上的最大值。
我尝试通过在其中放置 1 来实现这一点,[1 0 0 0 1]
因此[1 0 1 0 1]
我知道一阶导数最多为 0,但这种方法对我不起作用。
谢谢你。