0
私は16の状態変数、10の入力と18の出力からなる状態空間システムを持っています。MatlabのLsimをマルチ出力とマルチ入力システムに使用する
このシステムでは、Lsimコマンドはどのように使用しますか?特に、lsim(sys, u, t)
の場合、u
とt
をどのように定義すればよいですか?
ご協力いただきありがとうございます! アムリタ
私は16の状態変数、10の入力と18の出力からなる状態空間システムを持っています。MatlabのLsimをマルチ出力とマルチ入力システムに使用する
このシステムでは、Lsimコマンドはどのように使用しますか?特に、lsim(sys, u, t)
の場合、u
とt
をどのように定義すればよいですか?
ご協力いただきありがとうございます! アムリタ
お使いのシステムが10個の入力があり、Nt
時間ステップのためにシミュレートしたい場合は、t
は1 x Nt
とu
する必要があります例えば、18 x Nt
でなければなりません。:
sys = whatever;
m = 10; % num inputs
Nt = 1000; % 1000 samples
t_end = 10; % simulate for 10 seconds
t = linspace(0, t_end, Nt);
u = ones(m, Nt); % a step input on all inputs
y = lsim(sys, u, t);
% or, e.g.
u = [sin(t); cos(t); zeros(m-2, Nt)]; % sin and cos for the first two inputs,
% zero for the others
y = lsim(sys, u, t);
どうもありがとうございました。これは本当に助けになりました。私はそれに数秒間一定の入力を与えたい。私の10個の入力は、例えば10,23,34,45,56,5,4,3,2,25のような数字です。この場合、同じ数の時間サンプルでどのようにuを書きますか?私はあなたの助けに感謝します。 – user1028035
最速の方法は 'u = kron([10、23、etc、25] '、ones(size(t)))'ですが、 ); 23 * ones(1、Nt);等...] ' – dantswain