整系统也比较难分析，只有简易一点的非完整系统能用形式论来分析。假如，一个非完整系统的约束可以用以下方程式表示：则称此系统为半完整系统；这里，formula_30是广义速度。半完整系统可以用拉格朗日形式论来分析。更具体地说，分析半完整系统必须用到拉格朗日乘子formula_31 这里，formula_33是未知函数。假设哈密顿原理成立，则下述方程式成立：这里，formula_35是拉格朗日量，formula_36 与formula_37分别为积分的时间下限与上限。经过变分法运算，可以得到方程式