我有以下旋轉矩陣及其對時間的導數。旋轉矩陣包含三個角度 a1、a2 和 a3。對于每個角度,我想將 a(t) 替換為其數值,同時保持其導數(即 diff(a(t), t))作為符號變數。
Rsb =
[cos(a1(t))*cos(a2(t) a3(t)), -sin(a1(t)), -cos(a1(t))*sin(a2(t) a3(t))]
[sin(a1(t))*cos(a2(t) a3(t)), cos(a1(t)), -sin(a1(t))*sin(a2(t) a3(t))]
[ sin(a2(t) a3(t)), 0, cos(a2(t) a3(t))]
dRsb =
[- sin(a1(t))*cos(a2(t) a3(t))*diff(a1(t), t) - cos(a1(t))*sin(a2(t) a3(t))*(diff(a2(t), t) diff(a3(t), t)), -cos(a1(t))*diff(a1(t), t), sin(a1(t))*sin(a2(t) a3(t))*diff(a1(t), t) - cos(a1(t))*cos(a2(t) a3(t))*(diff(a2(t), t) diff(a3(t), t))]
[ cos(a1(t))*cos(a2(t) a3(t))*diff(a1(t), t) - sin(a1(t))*sin(a2(t) a3(t))*(diff(a2(t), t) diff(a3(t), t)), -sin(a1(t))*diff(a1(t), t), - cos(a1(t))*sin(a2(t) a3(t))*diff(a1(t), t) - sin(a1(t))*cos(a2(t) a3(t))*(diff(a2(t), t) diff(a3(t), t))]
[ cos(a2(t) a3(t))*(diff(a2(t), t) diff(a3(t), t)), 0, -sin(a2(t) a3(t))*(diff(a2(t), t) diff(a3(t), t))]
我已經嘗試過這個解決方案,但它也將導數設定為零。
subs(dRsb, {a1(t),a2(t),a3(t)}, {0,0,0})
您可以看到當角度為零時,dRsb(3,1) 應該等于(diff(a2(t), t) diff(a3(t), t))。有什么建議。
uj5u.com熱心網友回復:
如果您滿足于為 t 選擇一個特定的值(例如 t=0),那么以下應該可以作業。
subs(subs(dRsb,t,0), {a1(0),a2(0),a3(0)}, {0,0,0})
這是獲得所需行為的“技巧”。
syms s
subs(s,subs(subs(dRsb,t,s-1), {a1(s-1),a2(s-1),a3(s-1)}, {0,0,0}),t 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/408956.html
標籤:
上一篇:Reactjs中的動態表單
