1 votos

Dos masas sobre una superficie sin fricción unidas por un muelle

Tengo un problema con una tarea con dos masas en un plano sin fricción conectadas con un muelle.

Ambas masas son de 1 kg, y la distancia entre ellas (la longitud del muelle) es de 0,4 m. La constante del muelle k = 8 N/m. La primera masa recibe una velocidad inicial de 1 m/s.

La tarea se basa en la conferencia de Walter Lewins de 48 minutos: http://videolectures.net/mit801f99_lewin_lec15/

Me piden que escriba un programa en python que muestre las posiciones de ambas masas, pero tengo problemas con las fórmulas.

Esto es lo que tengo hasta ahora:

Aceleración de cada objeto (m = 1 kg): $$m1:\mathrm{d}^2x/\mathrm{d}t^2 = -k(x1-x2+L)t$$ $$m2:\mathrm{d}^2x/\mathrm{d}t^2 = -k(x2-x1-L)t$$

Ecuación: $$=\mathrm{sqrt}(k/m)=\mathrm{sqrt(8)}$$ $$x = A\cos(t)+B\sin(t)$$ para m1: t=0, pos=0 y v=1: $$x1=(1/)\cos(t)/2$$ divido por 2 para obtener la oscilación de sólo m1 (¿equivocado?)

para m2: t=0, pos=0,4, v=0: $$0.4\cos(t)$$

de nuevo, divido por 2 para obtener la oscilación de sólo m2

Problema:

¿Cómo hago que m2 dependa de la posición de m1? ¿Y cómo hago que se "muevan" como deberían? He intentado crear una función para el centro de masa, CM(t)=0.2*0.5t, para usarla como referencia del movimiento, pero no lo consigo.

¿Puede alguien indicarme la dirección correcta?

3voto

Floris Puntos 54054

Una vez liberada la masa, el centro de masa se moverá a velocidad constante. A esto se superpone el movimiento relativo de las dos masas: primero se acercan y luego se alejan. Estarán en antifase exacta, por lo que el centro de masa tendrá velocidad constante.

Tu error fue establecer x como una función coseno - eso implica que está en un extremo de la posición en t=0 cuando en realidad está en un extremo de la velocidad (por lo que la posición está "en el medio" y necesitas usar un sin función). Esto me lleva a lo siguiente (tendrás que comprobarlo y probar los pasos individuales que no te he dado... no se trata de resolver las ecuaciones diferenciales sino de saltar a la respuesta, pero creo que deberías ser capaz de llegar a esta respuesta con la pista anterior).

import numpy as np
import math
import matplotlib.pyplot as plt

k = 8
l = 0.4
m1 = 1.0
m2 = 1.0
m_reduced = (m1*m2)/(m1+m2) 
omega = np.sqrt(k / m_reduced)
t = np.linspace(0, 8.0 * math.pi / omega, 500)
a1 = 1.0 / (2*omega) # because we know dx/dt at t=0 - but half is due to c.o.m.
a2 = - a1
v_com = 0.5 # since one mass moves at 1 m/s and the other is initially stationary
x1 = a1 * np.sin(omega * t) + v_com * t
x2 = a2 * np.sin(omega * t) + v_com * t + l
plt.figure()
plt.plot(t, x1, label='x1')
plt.plot(t, x2, label='x2')
plt.xlabel('time (s)')
plt.ylabel('position (m)')
plt.legend()
plt.show()

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X