Matlabの質量-ダンパー-システムをシミュレートしていますが、システムへの入力として次のベクトル(1x100)があります。
ut = linspace(0, 10);
u = 5 * sin(2 * ut) + 10.5; % input of our system - external force
次に、この微分方程式を使用して、入力ベクトルの各値の出力値を取得します。
function dx = odefun_4(t,x)
m = 15;
b = 0.2;
k = 2;
dx = [x(2); u/m - (b/m)*x(2) - (k/m)*x(1)];
end
これは私のメイン.m
ファイルから次のように呼び出されます:
[t,X] = ode45(@odefun_4, [0 10], [0;0])
u
ベクトルをグローバル変数にしてベクトルを渡そうとしましたが、エラーが表示Dimensions of arrays being concatenated not consistent.
されRefine
ます。ソルバーodeset
のoptions
引数と引数を使用してパラメーターを設定しようとしましたode45
が、目的の結果が得られませんでした。本当に助けを借りることができました。
滑らかな連続関数。
—
テオプロトウリス