function [ dX ] = CartDynamics( X, F ) %cart dynamics m1 = 2; % cart m2 = 1; % ball L = 1; % length % X = [x, q, dx, dq] x = X(1); q = X(2); dx = X(3); dq = X(4); g = 9.8; M = [m1+m2, m2*L*cos(q); m2*L*cos(q), m2*L*L]; A = [dq*dq*m2*L*sin(q); g*L*m2*sin(q)]; B = [1;0]; d2X = inv(M) * (A + B*F); dX = [dx; dq; d2X]; end