Tak zrobiłem mój kod,
function DK = pendulum_cartesian(t,K)
g = 9.8; l = sqrt(K(1)^2 + K(2)^2);
DK = zeros(4,1);
DK(1) = K(3);
DK(2) = K(4);
DK(3) = ( (-K(1)*K(3)^2) - (K(1)*K(4)^2) + K(1)*K(2)*g )/(l^2);
DK(4) = ( (-K(2)*K(3)^2) - (K(2)*K(4)^2) - (K(1)^2)*g )/(l^2);
theta = atan(K(2)/K(1));
plot(t,theta);
end
i wpisałem
[t, K] = ode45 (@pendulum_cartesian, [0,10], [0.1,0.00017,0.1,0])
ale w theta nie ma wartości i nic nie kreśli.
gdzie jest problem
Odpowiedzi:
Zakładając, że twoje równania i kod są poprawne.
Oto, czego użyłem dla funkcji:
Następnie uruchom z:
źródło