# Coupled harmonic oscillator

1. Nov 22, 2009

### mrandersdk

I've been looking at a coupled harmonic oscillator, and normal modes of this:

http://en.wikipedia.org/wiki/Normal_mode#Example_.E2.80.94_normal_modes_of_coupled_oscillators

At the bottom of this example it says:

This corresponds to the masses moving in the opposite directions, while the center of mass remains stationary. The general solution is a superposition of the normal modes where c1, c2, φ1, and φ2, are determined by the initial conditions of the problem.

What is the best way to determine these coefficients, given some initial conditions (start position and velocity)?

This is only for two masses, but the method should also work for n equal masses. It is fine if I need to program me out of it, but how should i do this?

2. Nov 22, 2009

### bluelava0207

According to that website, the equatios are:

x1(t) = c1*cos(w1*t+phi1)+c2*cos(w2*t+phi2)
x2(t) = c1*cos(w1*t+phi1)-c2*cos(w2*t+phi2)

Taking the derivative, you get 2 more equations

v1(t) = -c1*w1*sin(w1*t+phi1)-c2*w2*sin(w2*t+phi2)
v2(t) = -c1*w1*sin(w1*t+phi1)+c2*w2*sin(w2*t+phi2)

x0_1 = x1(t=0)
x0_2 = x2(t=0)
v0_1 = v1(t=0)
v0_2 = v2(t=0)

x0_1 = c1*cos(phi1)+c2*cos(phi2)
x0_2 = c1*cos(phi1)-c2*cos(phi2)
v0_1 = -c1*w1*sin(phi1)-c2*w2*sin(phi2)
v0_2 = -c1*w1*sin(phi1)+c2*w2*sin(phi2)

Now you have 4 equations and 4 unknowns and can solve the coefficients.

Last edited: Nov 22, 2009
3. Nov 22, 2009

### bluelava0207

Actually, to solve this you need more variables and more equations. Instead of phi1 and phi2, use these:

sp1 = sin(phi1)
cp1 = cos(phi1)
sp2 = sin(phi2)
cp2 = cos(phi2)

Adding 2 new equations, you now have these 6 equations:

x0_1 = c1*cp1+c2*cp2
x0_2 = c1*cp1-c2*cp2
v0_1 = -c1*w1*sp1-c2*w2*sp2
v0_2 = -c1*w1*sp1+c2*w2*sp2
sp1^2+cp1^2 = 1
sp2^2+cp2^2 = 1

Once you've solved sp1,cp1,sp2, and cp2:

phi1 = atan2(sp1,cp1)
phi2 = atan2(sp2,cp2)

4. Nov 23, 2009

### mrandersdk

maybe I was a bit unclear, i know how to set up the equations, but what algorithm should i use to find the coefficients, especially when i need to scale it to n equal masses.

5. Nov 24, 2009

### bluelava0207

I would use http://en.wikipedia.org/wiki/Lagrangian_mechanics" [Broken]. It's basically an energy method approach to solving equations of motion for systems with multiple degrees of freedom much more quickly than using Newtonian mechanics. There are examples at the link above.

Last edited by a moderator: May 4, 2017
6. Nov 25, 2009

### mrandersdk

ok thanks. I know lagrangian mechanics, but need to solve it with newtonian mechanics, because i need to explain it to someone who doesn't know it.

I've wrote the complex solution as the real and imaginary part and then i could solve it. Thanks for all your sugestions.