一维二阶弹簧模型

来源:互联网 发布:嵌入式软件开发是什么 编辑:程序博客网 时间:2024/06/11 14:35

简单的一维二阶弹簧模型:

   A是振幅

   β是阻尼系数

   m是振子质量

   k是胡克系数

m * a = -β * v - k * x            (β >= 0, m > 0, k > 0)

微分方程:

m * dx2 / dt2 + β * dx / dt + k * x = 0

Laplace transform:

  m * [s2 * X(s) s * x(0) - x(0)] + β * [s * X(s) x(0)] + k * X(s) = 0

初始条件

x(0) = A

v(0) = x(0) = 0

 得:

m * s2 * X(s) + β * s * X(s) + k * X(s) = A * (m * s +β)

(m * s2 + β * s + k) * X(s) = A * (m * s + β)

X(s) = A * (m * s + β) / (m * s2 + β * s + k)

X(s) = A * (s + β/m) / (s2 + β/m * s + k/m)

设:

  2 * n =β/m         ω2   =  k/m

得:

X(s) = A * (s + 2n) / (s2 + 2n * s + ω2)

s2 + 2n * s +ω2 = 0

Δ = 4 * n2 4 * ω2 = β2 / m2 4 * k/m

    s0 = - n sqrt(n2 ω2)

    s1 = - n + sqrt(n2 ω2)

设:

X(s) = A * [u / (s - s0) + v / (s s1)]

X(s) = A * (u * s u * s1 + v * s v * s0)/ (s - s0) * (s s1)

X(s) = A * [(u + v) * s (u * s1 + v * s0)]/ (s - s0) * (s s1)

{ u + v = 1

{ (u * s1 + v * s0) = -2 * n

{ u = 1 / 2 - n / 2 / sqrt(n2 ω2)

{ v = 1 / 2 + n / 2 / sqrt(n2 ω2)

Inverse Laplace transform:

 x(t) = A * (u * es0*t + v * es1*t)

v(t) = x(t) = A * (u * s0 * es0*t + v * s1 * es1*t)

a(t) = v(t) = A * (u * s02 * es0*t + v * s12 * es1*t)

如果β > 0,有阻尼

如果Δ > 0,过阻尼

β2 / m2 4 * k/m > 0      (β > 0, m > 0, k > 0)

β2 / m 4 * k > 0

β2  > 4 * m * k

   β > 2 * sqrt(m * k)

如果Δ = 0,临界阻尼

   β = 2 * sqrt(m * k)

   x(t) = A * (1 + n * t) * e-n*t

如果Δ < 0,小阻尼

   0 < β < 2 * sqrt(m * k)

如果β = 0,无阻尼,就是简谐振动了

   x(t) = A * cos(ω * t + φ)    φ是初始相位,根据初始条件来求解

原创粉丝点击