Example Second-Order ODE: Spring-Mass-Damper

preview_player
Показать описание
This video solves an important second-order ordinary differential equation (ODEs): The damped harmonic oscillator for a mass on a spring with damping. We solve this by hand and also plot the solution in Python and Matlab.


@eigensteve on Twitter

This video was produced at the University of Washington

%%% CHAPTERS %%%
0:00 Deriving the Spring-Mass-Damper Equations from F=ma
6:46 Solve the Equation by Guessing Solution x(t) = exp(a*t)
9:35 The Characteristic Equation
14:54 Using Initial Conditions to Find Undetermined Coefficients
18:08 Writing as a Matrix System of Equations
21:12 Matlab Code Example
30:44 Python Code Example
Рекомендации по теме
Комментарии
Автор

Might be the greatest differential equation video of all time. Thank you!

michaelreilly
Автор

for future ref) Prof. Steve defined 'd/m=ζ', but typically people define 'd/m=2ζω' (see Harmonic oscillator in wikipedia) which the matlab code follows,
and the *_'d' in the code means ζ in that setting._*
In the code, that's why there is -2*d*w (-2ζω) instead of -d (-ζ).
Also note that we didn't solve the eq. analytically("by hands"), but used numerical analysis in two ways(rough one and fine one).

starriet
Автор

You're doing a great job for humanity. You're a great guy!

j.ferminpenas
Автор

Thank you very much for your videos! your passion and presentation makes such a difference!

RogerTaylor-ejud
Автор

What was defied as ζ (zeta) in the written section is actually not the damping ratio. The normalized 2nd order homogeneous equation is typically written as xdd + 2ζω*xd + ω^2*x = 0 where ζ in this case *is* the damping ratio, which can be defined as ζ = d/d_crit, and d_crit is the damping value that results in critical damping, which occurs when the discriminate of the characteristic equation is 0. On that note, in the code when bumping up the damping ratio to greater than 1, that's an over-damped case. Critical damping only occurs right on the boundary of pure convergence and oscillatory convergence, which is when the damping ratio is 1 and d=d_crit.

ErikScott
Автор

Thank you Prof. Brunton. My first approach to Matlab coding will be thanks to you and in my favorite subject: Vibration Theory.

diveintoengineering
Автор

Great Explanation, I like it so much!
Thanks💚👍🌹🌷

Eng.Courses-M.Alzyout
Автор

Thank you very much for this presentation (❤❤❤). I can't wait for the next video.

Based on this video, if the values of \Zeta and \Omega are available, then the characteristic function is calculated, so x(t) can be obtained by using x0 and xdot0.
However, how to calculate the characteristic function in the presence of the response x(t) (Indeed, the inverse problem)?

hoseinzahedifar
Автор

What a great video again Steve, a brilliant explanation of a not so easy subject. I have one further question: After solving the characteristic equation for lambda, we have three possibilities: lambda_1 and lambda_2 are both negative, lambda_1 and lambda_2 are complex with negative real part, or lambda_1 is lambda_2 and there is basically just one negative lambda. So we have an over-damped system (no vibration), under-damped system (damped vibration) or critically damped system respectively. This final system will only exists for specific combinations of mass, damping and spring, while the under- and over-damped systems exist for a whole range of choices for mass, damper and spring. Using the initial conditions - x(0) and xdot(0) - we can now solve for the constants C_1 and C_2 in the solution x(t) = C_1 exp(lambda_1 * t) + C_2 exp(lambda_2 * t). This makes sense from a mathematical perspective, it is a linear combination of the two solutions, as well as from a physical perspective. And this works fine for the under- and over-damped systems. But for the critically damped system, you get that C_1 + C_2 = x(0) and (C_1 + C_2) * lambda = xdot(0), which doesn’t allow you to specify C_1 and C_2. The solution is to use x(t) = (C_1 + C_2 * t) exp(lambda * t). I know that. But I don’t understand WHY that would be the right thing to do - from a mathematical perspective as well as from a physical one - it doesn’t comply with my intuition. Is there anyone who can shed some light? Many thanks!

joostdejong
Автор

Works for force/cross-section of a spring in the elastic range.

vgzvusr
Автор

Haven't you noticed that elastic coefficient carries the same meaning as a damper?
Works for force/cross-section of a spring in the elastic range.
19:53 Can you do the lecture left-handedly with a lipstick? It doesn't squeak.

vgzvusr
Автор

What should be multiplied with x dot, such that result is a force?

vgzvusr
Автор

Are you assuming lambda_1 and lambda_2 are real here. Should you use complex variables for a more general solution?

markkennedy
Автор

Hello! Do you have the example of double mass, spring and damper system?

agnesasopaj
Автор

"sometimes you can break the spring, and then this is not true" 😂

You should do a series on the greek alphabet, when you use which letter and why, and maybe what other contexts we may see them in. You may like julia, the programming language. It lets you use greek letters for variable names. Clearly that makes it a better choice than matlab 😄

chrisguiney
Автор

Isn't k pulling in the opposite direction that d?

ChristianRosenhagen
Автор

Can i communicate with you?
I need some help to control a system of nonlinear differential equation by using LQR and fuzzy control

ahmedamin
Автор

Can some one please help me out to find the code that sir run

ACatIISc
Автор

Definitively, damping doesn't play the same role as spring and mass. Mass and ppring are in total accordance with conservative laws. Not damping.
Experimentaters have observed that it is proportional to the velocity and so it has been introduced afterward in the differential equation.
Damping is not as pure as spring and mass !

lioneloddo
Автор

Solving 2nd order DE s with 10 grade 😂

curtpiazza