<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Indipf</id>
		<title>MateWiki - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Indipf"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Indipf"/>
		<updated>2026-04-28T16:39:06Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1203</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1203"/>
				<updated>2013-03-04T15:35:06Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Segundo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
Masa 1: &amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
Masa 2: &amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
*   &amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
*   &amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &lt;br /&gt;
*    &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
*    &amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_(n+1) + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
*   &amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
*  &amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
*   &amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
*  &amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=10&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=100&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1202</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1202"/>
				<updated>2013-03-04T15:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Segundo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
Masa 1: &amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
Masa 2: &amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_(n+1) + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=10&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=100&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1201</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1201"/>
				<updated>2013-03-04T15:25:58Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Primero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
Masa 1: &amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
Masa 2: &amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=10&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=100&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1200</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1200"/>
				<updated>2013-03-04T15:23:10Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=10&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=100&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1198</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1198"/>
				<updated>2013-03-04T15:22:45Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Segundo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=10&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=100&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1197</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1197"/>
				<updated>2013-03-04T15:21:53Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* La energía en función de μ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=10&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|500px|sinmarco]]&lt;br /&gt;
Para μ=100&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1191</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1191"/>
				<updated>2013-03-04T15:03:45Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* La energía en función de μ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1190</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1190"/>
				<updated>2013-03-04T15:03:12Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* La energía en función de μ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1187</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1187"/>
				<updated>2013-03-04T15:02:08Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1184</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1184"/>
				<updated>2013-03-04T15:01:24Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1181</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1181"/>
				<updated>2013-03-04T14:59:55Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1179</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1179"/>
				<updated>2013-03-04T14:59:10Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1176</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1176"/>
				<updated>2013-03-04T14:57:47Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apdo3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1173</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1173"/>
				<updated>2013-03-04T14:56:56Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apdo3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1165</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1165"/>
				<updated>2013-03-04T14:50:26Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo3anewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo3arungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apdo3bnewmark.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo3brungek.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1163</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1163"/>
				<updated>2013-03-04T14:45:33Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo3anewmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo3arungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
[[Archivo:Apdo3bnewmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo3brungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1162</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1162"/>
				<updated>2013-03-04T14:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Segundo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1161</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1161"/>
				<updated>2013-03-04T14:42:33Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco|izquierda]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco|derecha]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1159</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1159"/>
				<updated>2013-03-04T14:41:00Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Segundo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco|izquierda]]&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|500px|sinmarco|derecha]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1158</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1158"/>
				<updated>2013-03-04T14:39:38Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco|izquierda]]&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1157</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1157"/>
				<updated>2013-03-04T14:33:02Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|500px|sinmarco|centro]]&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmakrgraph.1.jpg|500px|centro]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1156</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1156"/>
				<updated>2013-03-04T14:28:59Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmakrgraph.1.jpg|500px|centro]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1153</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1153"/>
				<updated>2013-03-04T14:19:50Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Primero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmakrgraph.1.jpg|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1152</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1152"/>
				<updated>2013-03-04T14:18:23Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left{\begin{matrix}\m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)\\\m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2\end\{matrix}\right&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmakrgraph.1.jpg|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1150</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1150"/>
				<updated>2013-03-04T14:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{\begin{matrix}\m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)\\\m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2\end\{matrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmakrgraph.1.jpg|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1148</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1148"/>
				<updated>2013-03-04T14:14:10Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmakrgraph.1.jpg|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1145</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1145"/>
				<updated>2013-03-04T14:08:32Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Primero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2\right&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|sinmarco|500px]] &lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco|500px]]&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|sinmarco|500px]]&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1144</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1144"/>
				<updated>2013-03-04T14:02:20Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|sinmarco|500px]] &lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco|500px]]&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|sinmarco|500px]]&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1143</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1143"/>
				<updated>2013-03-04T13:59:19Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|sinmarco|500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|sinmarco]] &lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1142</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1142"/>
				<updated>2013-03-04T13:55:23Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmarkgraph.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2rungegraph.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3anewmark.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3arungek.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apto3bnewmark.1.jpg|sinmarco]] &lt;br /&gt;
[[Archivo:Apto3brungek.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energianewmark.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo4energiarunge.1.jpg|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4mu10.1.jpg|sinmarco]]&lt;br /&gt;
[[Archivo:Apdo4mu100.1.jpg|sinmarco]]&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1140</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1140"/>
				<updated>2013-03-04T13:48:11Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Apdo2newmakrgraph.1.jpg|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3brungek.1.jpg&amp;diff=1138</id>
		<title>Archivo:Apto3brungek.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3brungek.1.jpg&amp;diff=1138"/>
				<updated>2013-03-04T13:45:55Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3bnewmark.1.jpg&amp;diff=1136</id>
		<title>Archivo:Apto3bnewmark.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3bnewmark.1.jpg&amp;diff=1136"/>
				<updated>2013-03-04T13:45:42Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3arungek.1.jpg&amp;diff=1135</id>
		<title>Archivo:Apto3arungek.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3arungek.1.jpg&amp;diff=1135"/>
				<updated>2013-03-04T13:45:31Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3anewmark.1.jpg&amp;diff=1134</id>
		<title>Archivo:Apto3anewmark.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apto3anewmark.1.jpg&amp;diff=1134"/>
				<updated>2013-03-04T13:45:20Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4mu100.1.jpg&amp;diff=1133</id>
		<title>Archivo:Apdo4mu100.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4mu100.1.jpg&amp;diff=1133"/>
				<updated>2013-03-04T13:45:06Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4mu10.1.jpg&amp;diff=1132</id>
		<title>Archivo:Apdo4mu10.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4mu10.1.jpg&amp;diff=1132"/>
				<updated>2013-03-04T13:44:56Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4energiarunge.1.jpg&amp;diff=1131</id>
		<title>Archivo:Apdo4energiarunge.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4energiarunge.1.jpg&amp;diff=1131"/>
				<updated>2013-03-04T13:44:20Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4energianewmark.1.jpg&amp;diff=1130</id>
		<title>Archivo:Apdo4energianewmark.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo4energianewmark.1.jpg&amp;diff=1130"/>
				<updated>2013-03-04T13:44:08Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo2rungegraph.1.jpg&amp;diff=1129</id>
		<title>Archivo:Apdo2rungegraph.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo2rungegraph.1.jpg&amp;diff=1129"/>
				<updated>2013-03-04T13:43:44Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo2newmarkgraph.1.jpg&amp;diff=1128</id>
		<title>Archivo:Apdo2newmarkgraph.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apdo2newmarkgraph.1.jpg&amp;diff=1128"/>
				<updated>2013-03-04T13:43:29Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1125</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1125"/>
				<updated>2013-03-04T13:40:07Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La energía en función de μ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que para valores mayores de μ hay una mayor pérdida inicial de energía, pero tarda más tiempo en anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1121</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1121"/>
				<updated>2013-03-04T13:37:32Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y1(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
y2(1)=input('velocidad inicial de la masa')&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;mu=1;&lt;br /&gt;
Y=[y1;y2];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1;-2 -2*(1/2)*mu];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
E=2*(y1.^2)+(y2.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La energía en función de mu: mayor pérdida a comienzo del movimiento, más tiempo para anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1120</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1120"/>
				<updated>2013-03-04T13:35:20Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta'''&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=20;y1(1)=input('posicion inicial de la masa (mayor que -2)')y2(1)=input('velocidad inicial de la masa')N=4000;h=(tN-t0)/N;t=t0:h:tN;mu=1;Y=[y1;y2];for n=1:N       k0=[0 1;-2 -2*(1/2)*mu];    k1=k0*Y;        k2=k0*(Y+(1/2)*k1*h);      k3=k0*(Y+(1/2)*k2*h);        k4=k0*(Y+k3*h);           Y=Y+(h/6)*(k1+2*k2+2*k3+k4);       y1(n+1)=Y(1);    y2(n+1)=Y(2); endE=2*(y1.^2)+(y2.^2);semilogx(t,E,'g')title('Variacion energia sistema (Runge-Kutta)')xlabel('tiempo (s)')ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La energía en función de mu: mayor pérdida a comienzo del movimiento, más tiempo para anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1118</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1118"/>
				<updated>2013-03-04T13:32:22Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=20;&lt;br /&gt;
y(1)=input('posicion inicial de la masa (mayor que -2)')&lt;br /&gt;
z(1)=input('velocidad inicial de la masa')&lt;br /&gt;
%beta=1/4 gamma=1/2;&lt;br /&gt;
N=4000; h=(tN-t0)/N; &lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));&lt;br /&gt;
    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   &lt;br /&gt;
end&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')&lt;br /&gt;
title('Variacion energia sistema (Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Energia(J)')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Almacenaremos en el vector y la&lt;br /&gt;
posición, y en el vector z la velocidad de la partícula a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando un bucle y aplicando&lt;br /&gt;
el método de Newmark, obtenemos los valores de los estos dos vectores a lo&lt;br /&gt;
largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La energía de nuestro sistema&lt;br /&gt;
será , que&lt;br /&gt;
para nuestros valores es .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La energía en función de mu: mayor pérdida a comienzo del movimiento, más tiempo para anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1117</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1117"/>
				<updated>2013-03-04T13:30:46Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
t0=0;tN=20;y(1)=input('posicion inicial de la masa (mayor que -2)')z(1)=input('velocidad inicial de la masa')%beta=1/4;%gamma=1/2;N=4000; h=(tN-t0)/N; t=t0:h:tN;&lt;br /&gt;
for n=1:N        y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   end&lt;br /&gt;
&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')title('Variacion energia sistema (Newmark)')xlabel('tiempo (s)')ylabel('Energia(J)')}}&lt;br /&gt;
Almacenaremos en el vector y la&lt;br /&gt;
posición, y en el vector z la velocidad de la partícula a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando un bucle y aplicando&lt;br /&gt;
el método de Newmark, obtenemos los valores de los estos dos vectores a lo&lt;br /&gt;
largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La energía de nuestro sistema&lt;br /&gt;
será , que&lt;br /&gt;
para nuestros valores es .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La energía en función de mu: mayor pérdida a comienzo del movimiento, más tiempo para anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1116</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1116"/>
				<updated>2013-03-04T13:30:14Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;br /&gt;
&lt;br /&gt;
Llamamos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; a la distancia de la masa a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Esta vez, sí existe fuerza de amortiguamiento debida a la resistencia del medio, que será proporcional a la velocidad. Además, actuará la fuerza restauradora del muelle, que será proporcional al acortamiento o alargamiento del muelle (distancia de la masa a la posición de equilibrio).&lt;br /&gt;
&lt;br /&gt;
Entonces, obtendremos la ecuación de segundo orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;mx''=-kx-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde, al sustituir los parámetros, obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2x''=-4x-mux'&amp;lt;/math&amp;gt;&lt;br /&gt;
Es decir:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-2x-(mu/2)x'&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método de Newmark'''&lt;br /&gt;
&lt;br /&gt;
t0=0;tN=20;y(1)=input('posicion inicial de la masa (mayor que -2)')z(1)=input('velocidad inicial de la masa')%beta=1/4;%gamma=1/2;N=4000; h=(tN-t0)/N; t=t0:h:tN;&lt;br /&gt;
for n=1:N        y(n+1)=((1-((h^3)/(8+2*h)))*y(n)+(h-((h^2)/(8+2*h))-((h^3)/(4*(8+2*h))))*z(n))/(1-((h^2)/2)-((h^3)/(8+2*h)));    z(n+1)=(z(n)-h*y(n+1)-h*y(n)-(h/4)*z(n))/(1+(h/4));   end&lt;br /&gt;
&lt;br /&gt;
E=2*(y.^2)+(z.^2);&lt;br /&gt;
semilogx(t,E,'g')title('Variacion energia sistema (Newmark)')xlabel('tiempo (s)')ylabel('Energia(J)')}}&lt;br /&gt;
Almacenaremos en el vector y la&lt;br /&gt;
posición, y en el vector z la velocidad de la partícula a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando un bucle y aplicando&lt;br /&gt;
el método de Newmark, obtenemos los valores de los estos dos vectores a lo&lt;br /&gt;
largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La energía de nuestro sistema&lt;br /&gt;
será , que&lt;br /&gt;
para nuestros valores es .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La energía en función de mu: mayor pérdida a comienzo del movimiento, más tiempo para anularse completamente.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1079</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1079"/>
				<updated>2013-03-04T12:40:56Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado cuarto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondremos ahora que el sistema tiene sólo una masa. Es decir, desenganchamos el muelle de la segunda masa. Supondremos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento en el comportamiento del muelle proporcional a la velocidad de la masa, con coeficiente &amp;lt;math&amp;gt;μ = 1&amp;lt;/math&amp;gt;. Escribir el nuevo sistema de ecuaciones y resolverlo para los parámetros anteriores. Usar tanto el método de Runge-Kutta de cuarto orden como el de Newmark. Dibujar en una gráfica la energía a lo largo del tiempo, en escala logarítmica. Es cierto que al incrementar μ aumenta la tasa de decaimiento de la energía, es decir, decrece más rápidamente? Explicar si esto es razonable.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1078</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1078"/>
				<updated>2013-03-04T12:37:57Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apartado cuarto ==&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1076</id>
		<title>Sistema de dos masas y tres muelles (grupo 13)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_de_dos_masas_y_tres_muelles_(grupo_13)&amp;diff=1076"/>
				<updated>2013-03-04T12:37:15Z</updated>
		
		<summary type="html">&lt;p&gt;Indipf: /* Apartado Tercero */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Sistemas resorte-masa. Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas.Consideramos aquí un ejemplo simple formado por dos muelles y dos masas unidos a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuradosmasas.png|miniaturadeimagen]]&lt;br /&gt;
== Apartado Primero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Escribir el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio, si suponemos que no hay rozamiento. Interpretar las condiciones iniciales.&lt;br /&gt;
&lt;br /&gt;
Primero designamos las variables. Tomamos &amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt; como la distancia de las masas a su posición de equilibrio cuando han pasado t segundos.&lt;br /&gt;
&lt;br /&gt;
Como no hay fierzas de rozamiento, suponemos que no existe el amortiguamiento debido a la resistencia del aire. Por lo tanto, las únicas fuerzas que actúan en nuestro sistema serán las fuerzas restauradoras ejercidas por cada uno de los muelles. Estas fuerzas serán proporcionales al acortamiento o alargamiento de cada muelle, que depende de lo que se hayan desplazado las partículas.&lt;br /&gt;
&lt;br /&gt;
Entonces, obtenemos el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_1x_1''  =  - k_1x_1 + k_2(x_2 - x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_2x_2'' = - k_2(x_2 - x_1) - k_3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Apartado Segundo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante &amp;lt;math&amp;gt;t = 0&amp;lt;/math&amp;gt; las dos masas están desplazadas 1 y 1,5 metros hacia la derecha de la posición de equilibrio y se sueltan repentinamente, calcular la posición de cada masa en cada instante de tiempo y dibujar la gráfica. Suponer &amp;lt;math&amp;gt;k_1 = 4N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_2 = 2N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;k_3 = 1N/m&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 2kg&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;m_1 = 1kg&amp;lt;/math&amp;gt;; que la distancia entre las paredes es de 9 metros y que en equilibrio las dos masas están en las posiciones &amp;lt;math&amp;gt;x_A = 2m&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x_B = 4m&amp;lt;/math&amp;gt; respectivamente. Usar el método de Newmark para resolver sistemas de orden 2 y un método Runge-Kutta de cuarto orden, reduciendo el sistema a un sistema de primer orden. Comparar los resultados.&lt;br /&gt;
Como las masas están desplazadas 1 y 1,5m hacia la derecha de la posición de equilibrio, &amp;lt;math&amp;gt;x_1(t_0) = 1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x_2(t) = 1,5&amp;lt;/math&amp;gt;. Además, como las masas se sueltan repentinamente, ambas velocidades iniciales valdrán 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por otro lado nos dan los valores de m1, m2, k1, k2 y k3. Introduciendo estos valores en nuestro sistema obtenemos:&lt;br /&gt;
&amp;lt;math&amp;gt;x_1'' = - 3x_1 + x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2'' = 2x_1 - 3x_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark:'''&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y' = z&amp;lt;/math&amp;gt;, este método establece que: &amp;lt;math&amp;gt;y_n+1 = y_n + hz_n + h^2(betaf_n+1 + (1/2 - beta)f_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; z_n+1 = z_n + h(gammaf_n+1 + (1 - gamma)f_n); &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tomamos beta=1/4 y gamma=1/2, porque al tomar estos valores el método es estable y de segundo orden. &lt;br /&gt;
&lt;br /&gt;
Introducimos el método en Matlab:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x1(1)=1;x2(1)=1.5;z1(1)=0;z2(1)=0;&lt;br /&gt;
t0=0;tN=10;x=[x1 x2]';&lt;br /&gt;
z=[z1 z2]';&lt;br /&gt;
N=100; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N    &lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
    if x1(n+1)&amp;lt;-2&lt;br /&gt;
        x1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;lt;-4&lt;br /&gt;
        x2(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if x1(n+1)&amp;gt;5&lt;br /&gt;
        x1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if x2(n+1)&amp;gt;7&lt;br /&gt;
        x2(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
w1=x1+2;w2=x2+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,w1,'g')&lt;br /&gt;
plot(t,w2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Newmark)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
Descomponemos nuestro sistema de dos ecuaciones de segundo orden en uno de cuatro ecuaciones de primer orden.&lt;br /&gt;
Con lo que el sistema que teníamos anteriormente se transformará en:&lt;br /&gt;
&amp;lt;math&amp;gt;y_1'=y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_2'=-3y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_3'=y_4&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y_4'=2y_1+y_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;y_1=x_1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;y_3=x_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Almacenamos en los vectores &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_3&amp;lt;/math&amp;gt; las posiciones de las partículas a lo largo del tiempo, y en los vectores &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y_4&amp;lt;/math&amp;gt; las velocidades. Con estos vectores formamos la matriz Y de cuatro filas en función de t.&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de Runge-Kutta, crearemos un bucle para obtener el valor de cada columna de Y partiendo del valor anterior. Para eso, necesitamos definir una serie de matrices &amp;lt;math&amp;gt;k_1,k_2,k_3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;k_4&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Además, añadimos dos condiciones para que en todo momento las masas se encuentren entre las dos paredes; es decir, que la posición de la partícula 1 esté entre -2 y 7 y que la posición de la partícula 2 esté entre -4 y 5.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;y1(1)=1;y3(1)=1.5;y2(1)=0;y4(1)=0;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
    if y1(n+1)&amp;lt;-2&lt;br /&gt;
       y1(n+1)=-2;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;lt;-4&lt;br /&gt;
       y3(n+1)=-4;&lt;br /&gt;
    end&lt;br /&gt;
    if y1(n+1)&amp;gt;5&lt;br /&gt;
       y1(n+1)=5;&lt;br /&gt;
    end&lt;br /&gt;
    if y3(n+1)&amp;gt;7&lt;br /&gt;
       y3(n+1)=7;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
x1=y1+2;&lt;br /&gt;
x2=y3+4;&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x1,'g')&lt;br /&gt;
plot(t,x2)&lt;br /&gt;
title('Posicion respecto a la pared izquierda (Apdo 2 Runge-Kutta)')&lt;br /&gt;
xlabel('tiempo (s)')&lt;br /&gt;
ylabel('Posicion')&lt;br /&gt;
legend('masa 1','masa 2')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Apartado Tercero ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizar gráficas de las posiciones de las masas a lo largo del tiempo en los casos particulares siguientes: A) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, en el mismo sentido. B) El sistema parte del equilibrio con velocidades iniciales de 1m/s para las dos masas, pero en sentidos opuestos. Dibujar en una gráfica las posiciones de las masas, es decir los puntos &amp;lt;math&amp;gt;(x_A(t); x_B(t))&amp;lt;/math&amp;gt; para valores de t entre 0 y 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tendremos que definir nuevamente las condiciones iniciales. Por un lado, las masas parten de sus posiciones de equilibrio. Por otro lado, las velocidades serán de 1m/s en el mismo sentido para ambas masas.&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;x1(1)=0;x2(1)=0;z1(1)=1;z2(1)=1;&lt;br /&gt;
x=[x1 x2]';z=[z1 z2]';&lt;br /&gt;
N=400; h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
I=[1 0;0 1];&lt;br /&gt;
D=[-3 1;2 -3];&lt;br /&gt;
A=I-((h^2)/4*D);&lt;br /&gt;
C=I+((h^2)/4*D);&lt;br /&gt;
for n=1:N&lt;br /&gt;
    B=C*x + h*z;&lt;br /&gt;
    xx=A\B;&lt;br /&gt;
    zz=z + ((h/2)*D)*(xx +x);&lt;br /&gt;
    x1(n+1)=xx(1);&lt;br /&gt;
    x2(n+1)=xx(2);&lt;br /&gt;
    z1(n+1)=zz(1);&lt;br /&gt;
    z2(n+1)=zz(2);&lt;br /&gt;
    x=xx; z=zz;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Runge-Kutta para mismo sentido.'''&lt;br /&gt;
&lt;br /&gt;
Utilizamos el mismo método del apartado dos variando las condiciones iniciales. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;tN=10;&lt;br /&gt;
N=4000;h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y1(1)=0;y2(1)=1;y3(1)=0;y4(1)=1;&lt;br /&gt;
Y=[y1;y2;y3;y4];&lt;br /&gt;
for n=1:N&lt;br /&gt;
    k0=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
    k1=k0*Y;&lt;br /&gt;
    k2=k0*(Y+(1/2)*k1*h);&lt;br /&gt;
    k3=k0*(Y+(1/2)*k2*h);&lt;br /&gt;
    k4=k0*(Y+k3*h);&lt;br /&gt;
    Y=Y+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    y1(n+1)=Y(1);&lt;br /&gt;
    y2(n+1)=Y(2);&lt;br /&gt;
    y3(n+1)=Y(3);&lt;br /&gt;
    y4(n+1)=Y(4);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Método Newmark y Runge-Kutta para sentidos opuestos.'''&lt;br /&gt;
&lt;br /&gt;
Se realizan igual que en los apartados anteriores, cambiando la velocidad inicial de la segunda masa por -1m/s.&lt;/div&gt;</summary>
		<author><name>Indipf</name></author>	</entry>

	</feed>