function dotq = square_object_free_param( t, q, npoint, M, B, K, nfixed, A_fixed, alpha )
% 運動方程式（正方形の上部を解放したとき）
% 床に固定されている節点のみに制約が生じる
    u = q(1:npoint*2);
    v = q(npoint*2+1:npoint*4);
    
    dotu = v;
    
    coef = [ M, -A_fixed; ...
            -A_fixed', zeros(nfixed*2,nfixed*2) ];
    vec = [ -K*u-B*v; ...
             A_fixed'*(2*alpha*v + alpha^2*u) ];
    sol = coef\vec;
    dotv = sol(1:npoint*2);
    
    dotq = [dotu; dotv];
end
