Hice mi código como este,
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
y escribí,
[t, K] = ode45 (@pendulum_cartesian, [0,10], [0.1,0.00017,0.1,0])
pero no hay valor en theta, y las tramas nada.
donde hay un problema
Respuestas:
Asumiendo tus ecuaciones y tu código es correcto.
Esto es lo que usé para la función:
A continuación, ejecute con:
fuente