使って常微分方程式のシステムを解く私は微分方程式(ローレンツ方程式)のシステムを解決するためにMATLABを使用する方法を学習し、tの関数としての各ソリューションをプロットしようとしていますODE45
X’ = −σx + σy
Y’ = ρx − y − xz
Z’ = −βz + xy
σ = 10
、β = 8/3
、およびρ = 28
、ならびにx(0) = −8
,y(0) = 8
およびz(0) = 27
である。ここで
は、私が使用していたコードです:
function xprime = example(t,x)
sig = 10;
beta = 8/3;
rho = 28;
xprime = [-sig*x(1) + sig*x(2);
rho*x(1) - x(2) - x(1)*x(3);
-beta*x(3) + x(1)*x(2)];
x0 = [-8 8 27];
tspan = [0 20];
[t,x] = ode45(@example, tspan, x0);
figure
plot(t,x(:,1)), hold on
plot(t,x(:,2)), hold on
plot(t,x(:,3)), hold off
しかし、これは私がこの問題を解決しますか、エラーを生成しますか?私は、どの入力引数が欠けているのか、どこに間違っているのか分かりません。私は助けていただきありがとうございます。
入力引数が不十分です。例で
エラー(ライン9) xprimeは= [ - sigをX(1)+ sigを X(2)。 ρ* x(1)-x(2)-x(1)x(3); -βx(3)+
x(1)* x(2)];
- その意図的であるか、または...? –
おそらく、私はそれを書くよりよい方法がわからないからです。 – Tina