<?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=Belen.jn</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=Belen.jn"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Belen.jn"/>
		<updated>2026-04-23T12:19:39Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1610</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1610"/>
				<updated>2013-03-06T14:16:14Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Energía mecánica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta482.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo en escala logarítmica:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia6585.jpg]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posición de equilibrio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Belen.jn|Belen.jn]] ([[Usuario discusión:Belen.jn|discusión]]) 14:45 4 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Energia6585.jpg&amp;diff=1609</id>
		<title>Archivo:Energia6585.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Energia6585.jpg&amp;diff=1609"/>
				<updated>2013-03-06T14:15:38Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1608</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1608"/>
				<updated>2013-03-06T14:13:07Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Método de Runge-Kutta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta482.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo en escala logarítmica:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energiaaaa.jpg]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posición de equilibrio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Belen.jn|Belen.jn]] ([[Usuario discusión:Belen.jn|discusión]]) 14:45 4 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta482.jpg&amp;diff=1607</id>
		<title>Archivo:Rungekutta482.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta482.jpg&amp;diff=1607"/>
				<updated>2013-03-06T14:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1606</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1606"/>
				<updated>2013-03-06T14:07:34Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Energía mecánica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo en escala logarítmica:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energiaaaa.jpg]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posición de equilibrio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Belen.jn|Belen.jn]] ([[Usuario discusión:Belen.jn|discusión]]) 14:45 4 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Energiaaaa.jpg&amp;diff=1605</id>
		<title>Archivo:Energiaaaa.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Energiaaaa.jpg&amp;diff=1605"/>
				<updated>2013-03-06T14:07:00Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1473</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1473"/>
				<updated>2013-03-05T10:32:13Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Energía mecánica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo en escala logarítmica:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posición de equilibrio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Belen.jn|Belen.jn]] ([[Usuario discusión:Belen.jn|discusión]]) 14:45 4 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Energia8.jpg&amp;diff=1472</id>
		<title>Archivo:Energia8.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Energia8.jpg&amp;diff=1472"/>
				<updated>2013-03-05T10:31:30Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: Belen.jn subió una nueva versión de «Archivo:Energia8.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1139</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1139"/>
				<updated>2013-03-04T13:46:14Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Energía mecánica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posición de equilibrio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Belen.jn|Belen.jn]] ([[Usuario discusión:Belen.jn|discusión]]) 14:45 4 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1137</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1137"/>
				<updated>2013-03-04T13:45:53Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posición de equilibrio.&lt;br /&gt;
--[[Usuario:Belen.jn|Belen.jn]] ([[Usuario discusión:Belen.jn|discusión]]) 14:45 4 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1127</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1127"/>
				<updated>2013-03-04T13:42:31Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Energía mecánica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posición de equilibrio.&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1126</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1126"/>
				<updated>2013-03-04T13:41:16Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Método de Runge-Kutta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posción de equilibrio.&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1124</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1124"/>
				<updated>2013-03-04T13:39:35Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Modelización del sistema de ecuaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posción de equilibrio.&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1123</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1123"/>
				<updated>2013-03-04T13:39:17Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: /* Modelización del sistema de ecuaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación.&lt;br /&gt;
Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: :&lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2: :&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posción de equilibrio.&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1122</id>
		<title>Sistema resorte-masa (Grupo 8)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Sistema_resorte-masa_(Grupo_8)&amp;diff=1122"/>
				<updated>2013-03-04T13:38:12Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: Página creada con «Muchos modelos de vibraciones se modelizan con sistemas de muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos a dos paredes q...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muchos modelos de vibraciones se modelizan con sistemas de&lt;br /&gt;
muelles y masas. Consideramos aquí un ejemplo simple formado por tres muelles y dos masas unidos&lt;br /&gt;
a dos paredes que se deslizan libremente sobre un plano horizontal, como se muestra en la figura:&lt;br /&gt;
&lt;br /&gt;
                                       [[Archivo: Resortemasa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=='''Modelización del sistema de ecuaciones'''==&lt;br /&gt;
Modelizamos el sistema de ecuaciones diferenciales para el desplazamiento de ambas masas desde la posición de equilibrio. El sistema quedará en función de las posiciones de las masas, x1 y x2.&lt;br /&gt;
Suponemos que deslizan sobre una superficie horizontal y lisa, por lo que despreciamos la fuerza de rozamiento. Por tanto, las únicas fuerzas a tener en cuenta son las fuerzas que ejercen los muelles.&lt;br /&gt;
Según la Ley de Hooke, la fuerza ocasionada por un muelle es proporcional a su elongación. Así para nuestro sistema las fuerzas que actúan sobre la masa 1 son: &lt;br /&gt;
&amp;lt;math&amp;gt; F1=-k1x1 &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F2=k2(x2-x1) &amp;lt;/math&amp;gt;&lt;br /&gt;
Sobre la masa 2:&lt;br /&gt;
&amp;lt;math&amp;gt; F3=-k2(x2-x1) &amp;lt;/math&amp;gt; :&lt;br /&gt;
&amp;lt;math&amp;gt; F4=-k3x2 &amp;lt;/math&amp;gt;&lt;br /&gt;
Donde k1, k2 y k3 son las constantes elásticas de cada muelle.&lt;br /&gt;
&lt;br /&gt;
Aplicando la segunda ley de Newton, &amp;lt;math&amp;gt; F=mx'' &amp;lt;/math&amp;gt;, nos queda un sistema de ecuaciones diferenciales de segundo orden:&lt;br /&gt;
&amp;lt;math&amp;gt; m1x1''=-k1x1+k2(x2-x1)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; m2x2''=-k2(x2-x1)-k3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Resolución del sistema'''==&lt;br /&gt;
Suponemos:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las masas m1=2kg, m2=1kg.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las constantes de los muelles k1=4N/m, k2=2N/m, k3=1N/m.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Las posiciones en el equilibrio x1=2, X2=4.&lt;br /&gt;
El sistema que se obtiene :&lt;br /&gt;
&amp;lt;math&amp;gt; x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt; x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
===Supuesto 1===&lt;br /&gt;
Para t=0, se desplazan las masas 1 y 1,5 respectivamente y se sueltan repentinamente. Lo resolvemos mediante dos métodos.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=1; z10=0; x20=1.5; z20=0;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Newmark2.jpg]]&lt;br /&gt;
====''Método Runge-Kutta''====&lt;br /&gt;
Para aplicar el Método de Runge-Kutta es necesario descomponer el sistema en cuatro ecuaciones de primer orden:&lt;br /&gt;
&amp;lt;math&amp;gt; x1'=z1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z1'=x1''=-3x1+x2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x2'=z2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;z2'=x2''=2x1-3x2&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0; x02=1.5; z02=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((3*sqrt(2)+4)/4)*cos(sqrt(3-sqrt(2))*t)-((3*sqrt(2)-4)/4)*cos(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((3*sqrt(2)+4)/(4*sqrt(2)))*cos(sqrt(3-sqrt(2))*t)+((3*sqrt(2)-4)/(4*sqrt(2)))*cos(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
Obtenemos la siguiente gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Rungekutta281.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
====''Observaciones''====&lt;br /&gt;
Se observa que la gráfica es igual para ambos métodos. La diferencia a simple vista no se aprecia, pero Runge-Kutta es un método de cuarto orden y por tanto más preciso que el de Newmark, que es de segundo orden.&lt;br /&gt;
===Supuesto 2===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con velocidad inicial v=1m/s en el mismo sentido. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)&amp;amp;Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3a.jpg ]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3a8.jpg ]]&lt;br /&gt;
===Supuesto 3===&lt;br /&gt;
En este caso, partimos de las masas en la posición de equilibrio y con  velocidad inicial v=1m/s en sentidos opuestos. Aplicamos ambos métodos de la misma forma, sólo cambian las condiciones iniciales.&lt;br /&gt;
====''Método de Newmark''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
a1=-3; b1=0; c1=1; d1=0;&lt;br /&gt;
a2=2; b2=0; c2=-3; d2=0;&lt;br /&gt;
A=[0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0 ];&lt;br /&gt;
B=[a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2; 0 0 0 0];&lt;br /&gt;
C=[0 0 0 0; a1 b1 c1 d1; 0 0 0 0; a2 b2 c2 d2];&lt;br /&gt;
D=((h^2)*beta)*B+(h*gamma)*C;&lt;br /&gt;
F=eye(4)-D;&lt;br /&gt;
&lt;br /&gt;
x10=0; z10=1; x20=0; z20=-1;&lt;br /&gt;
X(:,1)=[x10; z10; x20; z20];&lt;br /&gt;
Y=X(:,1);&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
  Y=(eye(4)+(h*A)+((h^2)*((1/2)-beta))*B+(h*(1-gamma))*C)*Y;&lt;br /&gt;
  X(:,n+1)=F\Y;&lt;br /&gt;
  Y=X(:,n+1);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+X(1,:);&lt;br /&gt;
e=4+X(3,:);&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark3b.jpg ‎]]&lt;br /&gt;
====''Método de Runge-Kutta''====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=100;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN; &lt;br /&gt;
&lt;br /&gt;
A=[0 1 0 0;-3 0 1 0;0 0 0 1;2 0 -3 0];&lt;br /&gt;
&lt;br /&gt;
x01=0; z01=1; x02=0; z02=-1;&lt;br /&gt;
x1(1)=x01; z1(1)=z01; x2(1)=x02; z2(1)=z02;&lt;br /&gt;
X=[x01;z01;x02;z02];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
x2(n+1)=X(3);&lt;br /&gt;
z2(n+1)=X(4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Solución real&lt;br /&gt;
Y1=1/2*[((-sqrt(2)+2)/(2*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)-((-sqrt(2)-2)/(2*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t)];&lt;br /&gt;
Y2=((-sqrt(2)+2)/(2*sqrt(2)*sqrt(3-sqrt(2))))*sin(sqrt(3-sqrt(2))*t)+((-sqrt(2)-2)/(2*sqrt(2)*sqrt(3+sqrt(2))))*sin(sqrt(3+sqrt(2))*t);&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
e=4+x2;&lt;br /&gt;
plot(d,t,'x')%Solución real&lt;br /&gt;
plot(e,t,'x')%Solución real&lt;br /&gt;
f=2+Y1;&lt;br /&gt;
g=4+Y2;&lt;br /&gt;
plot(f,t)%Solución aproximada&lt;br /&gt;
plot(g,t)%Solución aproximada&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Rungekutta3b8.jpg ]]&lt;br /&gt;
=='''Sistema de una masa'''==&lt;br /&gt;
Suponemos ahora que el sistema tiene una masa, es decir desenganchamos la masa 2 de manera que nos queda un muelle y una masa. Suponemos también que el sistema está sumergido en un medio viscoso que provoca un amortiguamiento proporcional a la velocidad de la masa con coeficiente c=1.&lt;br /&gt;
Modelizamos este sistema con los mismos parámetros para la masa y el muelle. Nos queda la ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;x''=-(1/2)x'-2x&amp;lt;/math&amp;gt;&lt;br /&gt;
===''Método de Newmark''===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000; &lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
beta=1/4;&lt;br /&gt;
gamma=1/2;&lt;br /&gt;
&lt;br /&gt;
A=[1+2*h^2*beta h^2*beta/2; 2*gamma*h 1+gamma*h/2];&lt;br /&gt;
B=[1+h^2+2*h^2*beta h-(h^2)/4+(1/2)*h^2*beta; -2*h+2*gamma*h 1-h/2+gamma*h/2];&lt;br /&gt;
&lt;br /&gt;
y0=0; z0=1;&lt;br /&gt;
y(1)=y0; z(1)=z0;&lt;br /&gt;
Y=[y(1);z(1)];&lt;br /&gt;
    &lt;br /&gt;
for n=1:N&lt;br /&gt;
    Y=A\(B*Y);&lt;br /&gt;
    y(n+1)=Y(1);&lt;br /&gt;
    z(n+1)=Y(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
d=2+y;&lt;br /&gt;
plot(d,t);&lt;br /&gt;
hold on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo: Newmark4.jpg ]]&lt;br /&gt;
===''Método de Runge-Kutta''===&lt;br /&gt;
Descomponemos la ecuación de segundo orden en dos ecuaciones de primer orden, quedando el sistema:&lt;br /&gt;
&amp;lt;math&amp;gt;x'=z&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;z'=x''=-2x-(1/2)z&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
N=1000;&lt;br /&gt;
h=(tN-t0)/N;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
A=[0 1; -2 -1/2];&lt;br /&gt;
&lt;br /&gt;
x01=1; z01=0;&lt;br /&gt;
x1(1)=x01; z1(1)=z01;&lt;br /&gt;
X=[x01;z01];&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
k1=A*X;&lt;br /&gt;
k2=A*(X+1/2*h*k1);&lt;br /&gt;
k3=A*(X+1/2*h*k2);&lt;br /&gt;
k4=A*(X+h*k3);&lt;br /&gt;
X=X+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
x1(n+1)=X(1);&lt;br /&gt;
z1(n+1)=X(2);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
hold on&lt;br /&gt;
d=2+x1;&lt;br /&gt;
plot(d,t)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica tiempo-posición:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Rungekutta48.jpg ‎]]&lt;br /&gt;
&lt;br /&gt;
===''Energía mecánica''===&lt;br /&gt;
Estudiamos ahora la evolución de la energía mecánica en el tiempo.&lt;br /&gt;
La fórmula general es:&lt;br /&gt;
&amp;lt;math&amp;gt; E=Ec+Ep=(1/2)mx'^2+(1/2)kx^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Particularizando en este caso:&lt;br /&gt;
&amp;lt;math&amp;gt;E=x'^2+2x^2=z^2+2x^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizamos la solución del Runge-Kutta anterior y obtenemos la gráfica energía-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[archivo:Energia8.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Al incrementar el coeficiente de amortiguamiento &amp;quot;c&amp;quot;, la energía decae más rápidamente. Esto se debe a que cuanto mayor es la viscosidad del medio, más rápido se disipa la energía, volviendo antes la masa a la posción de equilibrio.&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

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

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

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark4.jpg&amp;diff=1100</id>
		<title>Archivo:Newmark4.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark4.jpg&amp;diff=1100"/>
				<updated>2013-03-04T13:15:23Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta3b8.jpg&amp;diff=1095</id>
		<title>Archivo:Rungekutta3b8.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta3b8.jpg&amp;diff=1095"/>
				<updated>2013-03-04T13:02:40Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark3b.jpg&amp;diff=1094</id>
		<title>Archivo:Newmark3b.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark3b.jpg&amp;diff=1094"/>
				<updated>2013-03-04T13:00:05Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta3a8.jpg&amp;diff=1089</id>
		<title>Archivo:Rungekutta3a8.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta3a8.jpg&amp;diff=1089"/>
				<updated>2013-03-04T12:54:44Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark3a.jpg&amp;diff=1086</id>
		<title>Archivo:Newmark3a.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark3a.jpg&amp;diff=1086"/>
				<updated>2013-03-04T12:49:33Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta281.jpg&amp;diff=1077</id>
		<title>Archivo:Rungekutta281.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta281.jpg&amp;diff=1077"/>
				<updated>2013-03-04T12:37:37Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: grupo 8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;grupo 8&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta2.jpg&amp;diff=1075</id>
		<title>Archivo:Rungekutta2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta2.jpg&amp;diff=1075"/>
				<updated>2013-03-04T12:36:07Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: Belen.jn subió una nueva versión de «Archivo:Rungekutta2.jpg»: Rungekutta2 del grupo 8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta2.jpg&amp;diff=1073</id>
		<title>Archivo:Rungekutta2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Rungekutta2.jpg&amp;diff=1073"/>
				<updated>2013-03-04T12:34:07Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: Belen.jn subió una nueva versión de «Archivo:Rungekutta2.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark2.jpg&amp;diff=1063</id>
		<title>Archivo:Newmark2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Newmark2.jpg&amp;diff=1063"/>
				<updated>2013-03-04T12:22:45Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Resortemasa.jpg&amp;diff=1023</id>
		<title>Archivo:Resortemasa.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Resortemasa.jpg&amp;diff=1023"/>
				<updated>2013-03-04T11:06:15Z</updated>
		
		<summary type="html">&lt;p&gt;Belen.jn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Belen.jn</name></author>	</entry>

	</feed>