0

http://www.mit.edu/people/abbe/matlab/ode.htmlのチュートリアルに従い、次のように関数を準備しました。

function dxy = diffxy(xy)
%
%split xy into variables in our equations
%
x = xy(1);
xdot = xy(2);
y = xy(3);
%
% define the derivatives of these variables from equations
%
xdot = xdot;
ydot = 3*x + 2*y + 5;
xdoubledot = 3 - ydot + 2*xdot;
%
%return the derivatives in dxy in the right order
%
dxy = [xdot; xdoubledot; ydot]
end

を使用して呼び出すと

[T, XY] = ode45('diffxy',0,10,[0 1 0])

エラーが発生する

??? Error using ==> diffxy
Too many input arguments.

私も試しました

XY= ode45(@diffxy,[0 10],[0;1;0])

誰でも何か考えがありますか?

4

1 に答える 1

3

チュートリアル全体を読んでいませんが、関数を次のように定義することになっていませんか

function dxy = diffxy(t, xy)

t時間ベクトルはどこですか

于 2013-03-01T13:11:27.903 に答える