MATLAB で 2 つの方程式の ODE 系を解こうとすると、少し問題が発生します。
私が使用しているコードは次のとおりです。
x0=-1; %Initial condition for variable x
y0=-10; %Initial condition for variable y
dx=@(t,x,y) y+2.*t; %First ODE
dy=@(t,y) y; %Second ODE
f={dx;dy}; %Array that contains the first and second ODE's
[t,g]=ode15s(f,[0 1],[x0 y0]); %Call for ode15s solver
このコードを実行すると、次のエラーが発生します。
タイプ 'cell' の入力引数に対して未定義の関数 'exist' があります。
スタイルの関数を作成したくない
function f=myodes(t,x,y)
etc etc
end
このコードは関数コードに入れ子にすることを意図しているため、Simulink ファイル内の他のブロックの出力を入力として使用する必要がある Simulink の MATLAB Function ブロックに挿入されます。
Simulink で直接実行することはできません。そのコードは、実際には、独立変数が時間ではなく距離である、解決する必要があるより大きな方程式のセットの練習であるためです。
どんな助けでも大歓迎です。
ありがとう!