Method: Joules.time_period_v2

Defined in:
lib/joules/oscillations.rb

.time_period_v2(mass, spring_constant) ⇒ Float

Note:

There are two other methods for calculating time period.

Calculates the time period of a mass-spring system given mass and spring constant.

Examples:

Joules.time_period_v2(20, 5) #=> 12.566370614359172

Parameters:

  • mass (Int, Float)

    mass >= 0; mass is in kilograms

  • spring_constant (Int, Float)

    spring_constant > 0; spring_constant is in newtons per metre

Returns:

  • (Float)

    return value >= 0; return value is in seconds

Raises:

  • (ZeroDivisionError)

    if spring_constant = 0



106
107
108
109
110
111
112
# File 'lib/joules/oscillations.rb', line 106

def time_period_v2(mass, spring_constant)
  if spring_constant.zero?
    raise ZeroDivisionError.new('divided by 0')
  else
    return 2 * Math::PI * ((mass / spring_constant.to_f) ** 0.5)
  end
end