カーブ フィッティング ツールボックスの関数を使用csape
すると、ユーザーは両端で微分値を選択できます。
特定のブレークポイントで導関数の値を制御する方法はありますか?
導関数の値の 1 つを 1 つのブレークポイントでゼロに設定して、最大値にしたいと考えています。
コードは次のとおりです。
%% 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.
時間と時間とともに変化する別の値の 2 つのベクトルがあり、3 次の b スプラインを作成したいと考えています。
私が使用csape
したのは、ユーザーが終点での導関数の値を決定できるようにするためです。cs = csape(tt,zz,[1 0 0 0 1],[0 0 0 0 0])
1 つは、終点で 1 次導関数を 0 にするようにツールに指示することです。
time = tmaxh で発生する点をスプラインの最大点にしたいと考えています。
これを に 1 を入れて作ってみた[1 0 0 0 1]
ので、一次導関数が最大で 0 であることがわかっているようになり[1 0 1 0 1]
ましたが、この方法はうまくいきませんでした。
ありがとうございました。