次の形式の常微分方程式系を解かなければなりません。
dx/ds = 1/x * [y* (g + s/y) - a*x*f(x^2,y^2)]
dy/ds = 1/x * [-y * (b + y) * f()] - y/s - c
ここで、x と y は調べる必要のある変数で、s は独立変数です。残りは定数です。私はこれをode45で解決しようとしましたが、これまでのところ成功していません:
y = ode45(@yprime, s, [1 1]);
function dyds = yprime(s,y)
global g a v0 d
dyds_1 = 1./y(1) .*(y(2) .* (g + s ./ y(2)) - a .* y(1) .* sqrt(y(1).^2 + (v0 + y(2)).^2));
dyds_2 = - (y(2) .* (v0 + y(2)) .* sqrt(y(1).^2 + (v0 + y(2)).^2))./y(1) - y(2)./s - d;
dyds = [dyds_1; dyds_2];
return
@yprime には連立方程式があります。次のエラー メッセージが表示されます。
YPRIME は長さ 0 のベクトルを返しますが、初期条件ベクトルの長さは 2 です。YPRIME によって返されるベクトルと初期条件ベクトルの要素数は同じでなければなりません。
何か案は?ありがとう