0
我想用MATLAB來實現一個模型系統。MATLAB:如何將一個系統輸出中的當前值作爲輸入饋入下一個系統?
我的模型在以下圖組成的2個子系統爲:
在短:第一子系統取角加速度,並輸出絕對角度(Phi
,Theta
和Psi
)給出輸入U2
,U3
,U4
。
角度值現在必須送入第二個子系統,它計算位置和相應的速度(X, Y, Z, X', Y', Z')
。
我怎樣才能連接兩個子系統在MATLAB(未在Simulink物理),以獲得一個獨特的系統中,我給角加速度,並獲得最終X, Y, Z
位置?
現在,我寫了這個代碼行(真正簡化我承認...):
M = 1.477;
Jxx = 0.01152;
Jyy = 0.01152;
Jzz = 0.0218;
% tf transfer function for the angles
s = tf('s');
G_phi = tf([1],[Jxx 0 0]);
G_theta = tf([1],[Jyy 0 0]);
G_psi = tf([1],[Jzz 0 0]);
% tf transfer function for the positons
a = (sin(psi)*sin(phi) + cos(psi)*sin(theta)*cos(phi));
b = (-cos(psi)*sin(phi) + sin(psi)*sin(theta)*cos(phi));
c = (cos(theta)*cos(phi));
G_x = tf([a], [M 0 0]);
G_y = tf([b], [M 0 0]);
G_z = tf([c], [M 0 0]);
其中phi
,theta
和psi
變量計算形成第一子系統,存儲然後傳遞給第二個子系統來計算那裏的cos和sin函數...
如果我不清楚我會更新我的問題 Regards
從你的圖,似乎有'U1'是也輸入到您的TF2('U1','phi','theta','PSI ')。這是你最終的代碼示例嗎? – user3666197 2014-10-03 23:21:13
是的...我已經糾正它。 U1只是我第二個子系統的輸入 – Dave 2014-10-04 06:53:11