<?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=Jose+Manuel+Corb%C3%AD+Garrido</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=Jose+Manuel+Corb%C3%AD+Garrido"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Jose_Manuel_Corb%C3%AD_Garrido"/>
		<updated>2026-05-04T10:25:48Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12986</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12986"/>
				<updated>2014-05-19T19:18:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con veinte términos de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12985</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12985"/>
				<updated>2014-05-19T19:16:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con diez términos de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12984</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12984"/>
				<updated>2014-05-19T19:16:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con cinco términos de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    %fourier2(k)=(1/(k�pi ) ) �trapz (x , ve l o c idad . � p) /&lt;br /&gt;
    %trapz (x , p . � p) ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12983</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12983"/>
				<updated>2014-05-19T19:15:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con un término de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    %fourier2(k)=(1/(k�pi ) ) �trapz (x , ve l o c idad . � p) /&lt;br /&gt;
    %trapz (x , p . � p) ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    %fourier2(k)=(1/(k�pi ) ) �trapz (x , ve l o c idad . � p) /&lt;br /&gt;
    %trapz (x , p . � p) ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12982</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12982"/>
				<updated>2014-05-19T19:15:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con tres términos de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
%fourier2(k)=(1/(k*pi))*trapz(x,velocidad.*p) /&lt;br /&gt;
%trapz (x,p.*p) ;&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    %fourier2(k)=(1/(k�pi ) ) �trapz (x , ve l o c idad . � p) /&lt;br /&gt;
    %trapz (x , p . � p) ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    %fourier2(k)=(1/(k�pi ) ) �trapz (x , ve l o c idad . � p) /&lt;br /&gt;
    %trapz (x , p . � p) ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12977</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12977"/>
				<updated>2014-05-19T19:11:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con un término de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
%fourier2(k)=(1/(k*pi))*trapz(x,velocidad.*p) /&lt;br /&gt;
%trapz (x,p.*p) ;&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12976</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12976"/>
				<updated>2014-05-19T19:11:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con un término de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
%fourier2(k)=(1/(k*pi))*trapz(x,velocidad.*p) /&lt;br /&gt;
%trapz (x,p.*p) ;&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12975</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12975"/>
				<updated>2014-05-19T19:10:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Con un término de la serie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
%fourier2(k)=(1/(k*pi))*trapz(x,velocidad.*p) /&lt;br /&gt;
%trapz (x,p.*p) ;&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12966</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12966"/>
				<updated>2014-05-19T18:54:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Comparativa de la diferencia de términos e interpretación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
Podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12964</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12964"/>
				<updated>2014-05-19T18:50:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sujeto a una estructura sometida a vibraciones periódicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12963</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12963"/>
				<updated>2014-05-19T18:50:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sumergido en el mar (medio viscoso) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12962</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12962"/>
				<updated>2014-05-19T18:49:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sumergido en el mar (medio viscoso) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10]; t∈[0,40] t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12959</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12959"/>
				<updated>2014-05-19T18:48:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sujeto a un aparato que envía una respuesta a las vibraciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12958</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12958"/>
				<updated>2014-05-19T18:47:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sujeto a un aparato que envía una respuesta a las vibraciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial la del apartado 2 y observando en qué cambia&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12948</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12948"/>
				<updated>2014-05-19T18:30:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sujeto a una estructura sometida a vibraciones periódicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial y observando en que cambia&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12947</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12947"/>
				<updated>2014-05-19T18:29:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sujeto a una estructura sometida a vibraciones periódicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el sistema de ecuaciones diferenciales será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método explícito y por tanto dependemos de la ecuación en que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
Por último método para resolver el sistema planteado mediante diferencias finitas, resolvemos numéricamente mediante el '''método de Euler''' modificado, el cual tiene más precisión que el método de Euler. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
Dados los órdenes de precisión de cada uno de los métodos para aproximar la función solución del sistema de ecuaciones planteado por el método de las diferencias finitas, el más preciso es el método del trapecio (orden 2), seguido por Euler modificado y por último Euler explicito (orden 1).&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigoEnergiaGRP9.jpg|border|Variación de la energía del cable a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica, esta es de apariencia trigonométrica, periódica en el tiempo (el periodo es de 10 segundos).&lt;br /&gt;
&lt;br /&gt;
'''¿Qué quiere decir esto?'''&lt;br /&gt;
&lt;br /&gt;
Esta gráfica no es otra cosa si no la '''representación de la variación de la energía potencial en valor absoluto a lo largo del tiempo''', tomando como referencia de los potenciales un desplazamiento vertical nulo &amp;lt;math&amp;gt;u=0&amp;lt;/math&amp;gt;. Para una interpretación más clara solo '''nos fijaremos en el punto situado a la mitad del cable''', en el que para &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; el desplazamiento vertical es de dos metros.  &lt;br /&gt;
&lt;br /&gt;
Inicialmente soltamos el cable desde una altura de dos metros y con velocidad nula, es decir, que en este instante la energía potencial será máxima mientras que la energía cinética será inexistente. A medida que desciende el cable, este incrementa su energía cinética, contrarrestando así la energía potencial que decrece, hasta que en &amp;lt;math&amp;gt;t=5&amp;lt;/math&amp;gt; la energía potencial es nula (al igual que el desplazamiento vertical); esto quiere decir que la energía cinética es máxima en este instante. La energía potencial continúa aumentando su valor hasta que en &amp;lt;math&amp;gt;t=10&amp;lt;/math&amp;gt;  se vuelve a hacer casi máxima (el desplazamiento  vertical del cable esta cerca de los dos metros hacia abajo) mientras que la cinética nula. Comienza nuevamente a aumentar la cinética y decrecer la potencial, de forma que para &amp;lt;math&amp;gt;t=15&amp;lt;/math&amp;gt; tanto el desplazamiento vertical como la energía potencial son nulos (la cinética vuelve a ser casi máxima); vuelve a aumentar nuevamente y en &amp;lt;math&amp;gt;t=20&amp;lt;/math&amp;gt; el cable vuelve a estar próximo a los dos metros de altura con una energía potencial cercana a la máxima.&lt;br /&gt;
&lt;br /&gt;
La '''energía mecánica''' (suma de la cinética y la potencial) '''tiende a conservarse, pero esto no ocurre''', puesto que hay pérdidas (puede ser por el rozamiento con el aire, etc), a simple vista no se aprecia en la gráfica, pero si se ejecuta el programa y se comprueba la matriz “E” (almacena la energía en cada instante) se observa que esta va decreciendo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
El siguiente código auxiliar muestra el desplazamiento vertical del punto central en cada instante, a simple vista no se aprecia, pero si se ejecuta y comprueba la matriz “sol” se verá que el desplazamiento vertical es máximo al principio (2 metros), no volviendo a recuperar el cable este valor (aunque se quede próximo a él en ciertos instantes, para ello hay que observar la columna 51 de la matriz), '''el movimiento se va “amortiguando” reduciéndose lentamente el desplazamiento vertical y la energía'''. Si estudiáramos un intervalo de tiempo mayor esto se apreciaría mucho mejor, pruebe a cambiar en el siguiente código T=40 por T=500, es evidente, cada vez se aleja más de los dos metros iniciales que marcan los límites de la gráfica (observe la segunda imagen).&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAuxEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergia.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=40]]&lt;br /&gt;
[[Archivo:ImagenCodigoAuxEnergiaT500.jpg|border|Desplazamiento vertical del  cable a lo largo del tiempo en el punto medio T=500]]&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro a.Vamos a dar a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, el cable permanecería en reposo.&lt;br /&gt;
&lt;br /&gt;
Se ve que, al aumentar la a, la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; uu_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es, tomando como condición inicial y observando en que cambia&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12345</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12345"/>
				<updated>2014-05-18T19:26:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sumergido en el mar (medio viscoso) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
&lt;br /&gt;
===Con el método del trapecio===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
===Con el método de Euler explícito===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
===Con el método de Euler modificado===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en este caso, dependiendo del parámetro a.Vamos a das a a los valores de 0, 1 ,4, 10 y 100.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido, ya estudiado en apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
Se ve que al aumentar la a la energía se disipa más rápidamente.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12311</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12311"/>
				<updated>2014-05-18T19:01:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cable sumergido en el mar (medio viscoso) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
&lt;br /&gt;
===Con el método del trapecio===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
===Con el método de Euler explícito===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
===Con el método de Euler modificado===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12029</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=12029"/>
				<updated>2014-05-18T12:50:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Comparativa de diferencias finitas y Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción es inextensible, es decir, que es lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t&amp;gt;0\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
&lt;br /&gt;
===Con el método del trapecio===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo1.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
===Con el método de Euler explícito===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo2.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
===Con el método de Euler modificado===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo3.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
===Comparativa de los métodos e interpretación===&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo4.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo5.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo6.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo7.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir Codigo8.m&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
===Comparativa de la diferencia de términos e interpretación===&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier==&lt;br /&gt;
Se puede obsevar que al aumentar el numéro de términos con Fourier, la solución se va aproximando cada vez más a la obtenida mediante el método de las diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoAnimacion.m&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=10446</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=10446"/>
				<updated>2014-03-05T20:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Cálculo y representación de u_1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como::&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido::&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius'''::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales::&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
Para poder resolver esta ecuación independientemente del posterior procedimiento numérico que vayamos a aplicar, primero hemos tenido que convertirla en un sistema, aplicando el método analítico que detallamos a continuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{1}=f(x)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{2}=f'(x)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}=f''(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Así &amp;lt;math&amp;gt;y_{3}'=f'''(x)&amp;lt;/math&amp;gt;, si despejamos de nuestra ecuación diferencial obtenemos que::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{2}=y_{1}'&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}=y_{2}'&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}'=-\frac{1}{2}y_{1}y_{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como resultado de esta transformación obtenemos un sistema para el cual podemos obtener su solución numéricamente.&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje matlab que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Implementando el método de Euler en este sistema:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
         &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que nos dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
La siguiente secuencia de código da solución a la ecuación de Blasius mediante el método de Runge-Kutta, siendo aplicado al sistema de ecuaciones diferenciales obtenido en el primer apartado mediante procedimientos analíticos:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta orden 4&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
% La variable eta recibe el nombre x&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(x_n,f_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(x_n+h/2,f_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de eta&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento f &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(x_n+h/2,f_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento eta que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(x_n+h/2,f_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento eta&lt;br /&gt;
    fp=ff+h*k3; %argumento f&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330, como podemos apreciar en el gráfico.&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros apartados resolvemos el sistema asociado a la ecuación de Blasius numéricamente, en este caso mediante el método de Euler:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
% x es la variable eta del problema&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada valor de eta&lt;br /&gt;
%% Iteraciones f(x_n)--&amp;gt;f(x_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    &lt;br /&gt;
   y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
   f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada eta&lt;br /&gt;
%% Iteraciones f(x_n)--&amp;gt;f(x_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métodos numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''De hecho a simple vista no se aprecia la diferencia.'''&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
Vamos a estudiar a partir de qué valor de &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt; la gráfica difiere 0,01 o menos de 1.&lt;br /&gt;
&lt;br /&gt;
Para esto se puede escoger cualquiera de los métodos numéricos anteriormente utilizados. Y después, para que nos muestre la gráfica de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;, se escriben las siguientes líneas de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
plot(eta,f(2,:),'g')&lt;br /&gt;
legend('f2(eta)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de  f´ para k=0,33')&lt;br /&gt;
}}:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:grafipartado3.jpg|grafipartado3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos como tiende rápidamente al valor 1, por lo que confirma que la k escogida en los apartados anteriores es correcta.&lt;br /&gt;
&lt;br /&gt;
Ahora para encontrar a partir de qué valor de &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt; la gráfica difiere 0,01 o menos de 1; introducimos la siguiente secuencia de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
figure(2)&lt;br /&gt;
gg=abs(f(2,:)-1);&lt;br /&gt;
for n=1:N&lt;br /&gt;
     l=n;&lt;br /&gt;
 if gg(n)&amp;lt;0.01&lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
nu0=l-1&lt;br /&gt;
loquequermos=eta0*h&lt;br /&gt;
&lt;br /&gt;
plot(eta0,gg)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafipartado3b.jpg|grafipartado3b.jpg]]&lt;br /&gt;
&lt;br /&gt;
Visualmente vemos que el valor buscado está más o menos entre 5 y 6. Con la condición del código de que la diferencia en valor absoluto sea menor que 0.01 llegamos a que el valor que buscamos concretamente es 5,2.&lt;br /&gt;
&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
Definimos el campo de velocidades del fluido &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; como::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
A continuación vamos a calcular analíticamente la componente de &amp;lt;math&amp;gt; u_1 &amp;lt;/math&amp;gt; de la velocidad del fluido en función de  &amp;lt;math&amp;gt;f( \eta)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Para ello, desarrollamos la componente hasta la obtención de su expresión final::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_1=\frac{\partial \psi}{\partial y}=\frac{\partial }{\partial y}(\sqrt[]{\nu u_0 x} f(\eta))= \sqrt[]{\nu u_0 x} \frac{\partial f(\eta)}{\partial y}=\sqrt[]{\nu u_0 x} \frac{\partial f(\eta)}{\partial \eta} \frac{\partial \eta}{\partial y}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
Definimos la función &amp;lt;math&amp;gt;\eta(x,y)&amp;lt;/math&amp;gt; como::&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_1=\sqrt[]{\nu u_0 x} \sqrt[]{\frac{u_0}{\nu x}} f’(\eta)=u_0 f’(\eta)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo esta ecuación mediante el método de Rungge-Kutta para un &amp;lt;math&amp;gt;y \in (0,3)&amp;lt;/math&amp;gt; y unos valores de &amp;lt;math&amp;gt;x \in \{0.05, 0.2, 0.4, 0.6, 0.8\}&amp;lt;/math&amp;gt; mediante el siguiente código, que nos permite calcular las gráficas para cada una de las &amp;lt;math&amp;gt;x_{i}&amp;lt;/math&amp;gt; particulares:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Componente u1 de la velocidad&lt;br /&gt;
% Introducimos las variables&lt;br /&gt;
clear all&lt;br /&gt;
u0=2;&lt;br /&gt;
nu=1;&lt;br /&gt;
xk=[0.05 0.2 0.4 0.6 0.8];&lt;br /&gt;
y0=0;&lt;br /&gt;
yf=3;&lt;br /&gt;
h=0.05;&lt;br /&gt;
y=y0:h:yf;&lt;br /&gt;
N=(yf-y0)/h;&lt;br /&gt;
% Iteraciones&lt;br /&gt;
for i=1:5&lt;br /&gt;
eta(i,:)=y*sqrt(u0/(nu*xk(i)));&lt;br /&gt;
% H es el paso para resolver el sistema&lt;br /&gt;
H=0.05*sqrt(u0/(nu*xk(i)));&lt;br /&gt;
k=0.33;&lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
&lt;br /&gt;
ff=f0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    A=[0 1 0;0 0 1;(-ff(3)/2) 0 0];&lt;br /&gt;
    j=ff+H*A*ff;&lt;br /&gt;
    ff=ff+(H/2)*(A*ff+A*j);&lt;br /&gt;
    f(:,n+1)=[ff(1);ff(2);ff(3)];&lt;br /&gt;
end&lt;br /&gt;
G(i,:)=f(2,:);&lt;br /&gt;
end&lt;br /&gt;
u1=u0*G;&lt;br /&gt;
&lt;br /&gt;
%% Dibujamos la solución&lt;br /&gt;
hold on&lt;br /&gt;
plot(y,u1)&lt;br /&gt;
&lt;br /&gt;
legend('para x=0.05','para x=0.2','para x=0.4','para x=0.6','para x=0.8')&lt;br /&gt;
xlabel('y')&lt;br /&gt;
ylabel('u1')&lt;br /&gt;
title ('Componente u1 de la velocidad')&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Gráfica del apartado 4.JPG|Gráfica del apartado 4.JPG]]&lt;br /&gt;
&lt;br /&gt;
==Conclusión==&lt;br /&gt;
Como vemos en la gráfica, podemos deducir que el fluido cuando se mueve sobre el eje de abscisas, necesita una altura mayor para poder tener una velocidad límite más estabilizada. Observamos que la primera línea es muy próxima a una recta pero que las siguiente según avanzamos en las x se van acercando a una figura más parabólica. Estas curvas representan la transición de la velocidad del fluido desde la capa (donde es nula) hasta que alcanza u0 aumenta a medida que avanzamos por la placa.&lt;br /&gt;
&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
Hemos comprobado que la altura (&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;) a la que el fluido alcanza la velocidad constante (&amp;lt;math&amp;gt;u_0=2&amp;lt;/math&amp;gt;) depende de la distancia recorrida sobre la placa (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;). Ahora vamos a dibujar la función &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt; es el valor &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; para el cual &amp;lt;math&amp;gt;\eta=\eta_0&amp;lt;/math&amp;gt;, para observar como es ese cambio de &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; en función de la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;.&lt;br /&gt;
La relación entre estas variables viene dada por la expresión: &amp;lt;math&amp;gt;\eta  = y  \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt;&lt;br /&gt;
Despejamos la &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; y suponemos &amp;lt;math&amp;gt;u_0=2&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;\nu=1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\eta=\eta_0=5.2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;y=\eta_0  \sqrt[]{ \frac{x}{2}}=g(x)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Representamos esta función en Matlab.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Dibujamos la función g(x), y en función eta0(cte.) y  de x.&lt;br /&gt;
% Introducimos variables&lt;br /&gt;
eta0=5.2;&lt;br /&gt;
u0=2;&lt;br /&gt;
v=1;&lt;br /&gt;
x=0:0.05:10;&lt;br /&gt;
% Calculamos y&lt;br /&gt;
y=eta0*sqrt(v*x/u0);&lt;br /&gt;
% Dibujamos la gráfica&lt;br /&gt;
plot(x,y)&lt;br /&gt;
legend('g(x)')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
title('Capa límite de transición de la velocidad')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Gráficaapartado5.JPG|Gráficaapartado5.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Interpretamos la función &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt; como el borde de la capa límite que hace la transición entre la velocidad&lt;br /&gt;
nula en la placa y la velocidad lejos de la misma del fluido. Se confirma lo que ya podíamos ver en el apartado anterior. A medida que el fluido se aleja del origen de la placa (&amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;), es decir, a medida que aumenta el valor de la variable &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, el fluido alcanza la velocidad inicial constante a una mayor altura (&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=10439</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=10439"/>
				<updated>2014-03-05T20:08:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como::&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido::&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius'''::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales::&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
Para poder resolver esta ecuación independientemente del posterior procedimiento numérico que vayamos a aplicar, primero hemos tenido que convertirla en un sistema, aplicando el método analítico que detallamos a continuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{1}=f(x)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{2}=f'(x)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}=f''(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Así &amp;lt;math&amp;gt;y_{3}'=f'''(x)&amp;lt;/math&amp;gt;, si despejamos de nuestra ecuación diferencial obtenemos que::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{2}=y_{1}'&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}=y_{2}'&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}'=-\frac{1}{2}y_{1}y_{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como resultado de esta transformación obtenemos un sistema para el cual podemos obtener su solución numéricamente.&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje matlab que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Implementando el método de Euler en este sistema:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
         &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que nos dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
La siguiente secuencia de código da solución a la ecuación de Blasius mediante el método de Runge-Kutta, siendo aplicado al sistema de ecuaciones diferenciales obtenido en el primer apartado mediante procedimientos analíticos:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta orden 4&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
% La variable eta recibe el nombre x&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(x_n,f_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(x_n+h/2,f_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de eta&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento f &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(x_n+h/2,f_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento eta que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(x_n+h/2,f_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento eta&lt;br /&gt;
    fp=ff+h*k3; %argumento f&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330, como podemos apreciar en el gráfico.&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros apartados resolvemos el sistema asociado a la ecuación de Blasius numéricamente, en este caso mediante el método de Euler:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
% x es la variable eta del problema&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada valor de eta&lt;br /&gt;
%% Iteraciones f(x_n)--&amp;gt;f(x_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    &lt;br /&gt;
   y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
   f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada eta&lt;br /&gt;
%% Iteraciones f(x_n)--&amp;gt;f(x_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métodos numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''De hecho a simple vista no se aprecia la diferencia.'''&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
Vamos a estudiar a partir de qué valor de &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt; la gráfica difiere 0,01 o menos de 1.&lt;br /&gt;
&lt;br /&gt;
Para esto se puede escoger cualquiera de los métodos numéricos anteriormente utilizados. Y después, para que nos muestre la gráfica de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;, se escriben las siguientes líneas de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
plot(eta,f(2,:),'g')&lt;br /&gt;
legend('f2(eta)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de  f´ para k=0,33')&lt;br /&gt;
}}:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:grafipartado3.jpg|grafipartado3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos como tiende rápidamente al valor 1, por lo que confirma que la k escogida en los apartados anteriores es correcta.&lt;br /&gt;
&lt;br /&gt;
Ahora para encontrar a partir de qué valor de &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt; la gráfica difiere 0,01 o menos de 1; introducimos la siguiente secuencia de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
figure(2)&lt;br /&gt;
gg=abs(f(2,:)-1);&lt;br /&gt;
for n=1:N&lt;br /&gt;
     l=n;&lt;br /&gt;
 if gg(n)&amp;lt;0.01&lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
nu0=l-1&lt;br /&gt;
loquequermos=eta0*h&lt;br /&gt;
&lt;br /&gt;
plot(eta0,gg)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafipartado3b.jpg|grafipartado3b.jpg]]&lt;br /&gt;
&lt;br /&gt;
Visualmente vemos que el valor buscado está más o menos entre 5 y 6. Con la condición del código de que la diferencia en valor absoluto sea menor que 0.01 llegamos a que el valor que buscamos concretamente es 5,2.&lt;br /&gt;
&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
Definimos el campo de velocidades del fluido &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; como::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
A continuación vamos a calcular analíticamente la componente de &amp;lt;math&amp;gt; u_1 &amp;lt;/math&amp;gt; de la velocidad del fluido en función de  &amp;lt;math&amp;gt;f( \eta)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Para ello, desarrollamos la componente hasta la obtención de su expresión final::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_1=\frac{\partial \psi}{\partial y}=\frac{\partial }{\partial y}(\sqrt[]{\nu u_0 x} f(\eta))= \sqrt[]{\nu u_0 x} \frac{\partial f(\eta)}{\partial y}=\sqrt[]{\nu u_0 x} \frac{\partial f(\eta)}{\partial \eta} \frac{\partial \eta}{\partial y}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
Definimos la función &amp;lt;math&amp;gt;\eta(x,y)&amp;lt;/math&amp;gt; como::&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_1=\sqrt[]{\nu u_0 x} \sqrt[]{\frac{u_0}{\nu x}} f’(\eta)=u_0 f’(\eta)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo esta ecuación mediante el método de Rungge-Kutta para un &amp;lt;math&amp;gt;y \in (0,3)&amp;lt;/math&amp;gt; y unos valores de &amp;lt;math&amp;gt;x \in \{0.05, 0.2, 0.4, 0.6, 0.8\}&amp;lt;/math&amp;gt; mediante el siguiente código, que nos permite calcular las gráficas para cada una de las &amp;lt;math&amp;gt;x_{i}&amp;lt;/math&amp;gt; particulares:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Componente u1 de la velocidad&lt;br /&gt;
% Introducimos las variables&lt;br /&gt;
clear all&lt;br /&gt;
u0=2;&lt;br /&gt;
nu=1;&lt;br /&gt;
xk=[0.05 0.2 0.4 0.6 0.8];&lt;br /&gt;
y0=0;&lt;br /&gt;
yf=3;&lt;br /&gt;
h=0.05;&lt;br /&gt;
y=y0:h:yf;&lt;br /&gt;
N=(yf-y0)/h;&lt;br /&gt;
% Iteraciones&lt;br /&gt;
for i=1:5&lt;br /&gt;
eta(i,:)=y*sqrt(u0/(nu*xk(i)));&lt;br /&gt;
% H es el paso para resolver el sistema&lt;br /&gt;
H=0.05*sqrt(u0/(nu*xk(i)));&lt;br /&gt;
k=0.33;&lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
f=[f0(1);f0(2);f0(3)];&lt;br /&gt;
ff=f0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    A=[0 1 0;0 0 1;(-ff(3)/2) 0 0];&lt;br /&gt;
    j=ff+H*A*ff;&lt;br /&gt;
    ff=ff+(H/2)*(A*ff+A*j);&lt;br /&gt;
    f(:,n+1)=[ff(1);ff(2);ff(3)];&lt;br /&gt;
end&lt;br /&gt;
G(i,:)=f(2,:);&lt;br /&gt;
end&lt;br /&gt;
u1=u0*G;&lt;br /&gt;
&lt;br /&gt;
%% Dibujamos la solución&lt;br /&gt;
hold on&lt;br /&gt;
plot(y,u1(1,:),'m')&lt;br /&gt;
plot(y,u1(2,:),'b')&lt;br /&gt;
plot(y,u1(3,:),'r')&lt;br /&gt;
plot(y,u1(4,:),'g')&lt;br /&gt;
plot(y,u1(5,:),'c')&lt;br /&gt;
legend('para x=0.05','para x=0.2','para x=0.4','para x=0.6','para x=0.8')&lt;br /&gt;
xlabel('y')&lt;br /&gt;
ylabel('u1')&lt;br /&gt;
title ('Componente u1 de la velocidad')&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Gráfica del apartado 4.JPG|Gráfica del apartado 4.JPG]]&lt;br /&gt;
&lt;br /&gt;
==Conclusión==&lt;br /&gt;
Como vemos en la gráfica, podemos deducir que el fluido cuando se mueve sobre el eje de abscisas, necesita una altura mayor para poder tener una velocidad límite más estabilizada. Observamos que la primera línea es muy próxima a una recta pero que las siguiente según avanzamos en las x se van acercando a una figura más parabólica. Estas curvas representan la transición de la velocidad del fluido desde la capa (donde es nula) hasta que alcanza u0 aumenta a medida que avanzamos por la placa.&lt;br /&gt;
&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
Hemos comprobado que la altura (&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;) a la que el fluido alcanza la velocidad constante (&amp;lt;math&amp;gt;u_0=2&amp;lt;/math&amp;gt;) depende de la distancia recorrida sobre la placa (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;). Ahora vamos a dibujar la función &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt; es el valor &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; para el cual &amp;lt;math&amp;gt;\eta=\eta_0&amp;lt;/math&amp;gt;, para observar como es ese cambio de &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; en función de la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;.&lt;br /&gt;
La relación entre estas variables viene dada por la expresión: &amp;lt;math&amp;gt;\eta  = y  \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt;&lt;br /&gt;
Despejamos la &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; y suponemos &amp;lt;math&amp;gt;u_0=2&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;\nu=1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\eta=\eta_0=5.2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;y=\eta_0  \sqrt[]{ \frac{x}{2}}=g(x)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Representamos esta función en Matlab.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Dibujamos la función g(x), y en función eta0(cte.) y  de x.&lt;br /&gt;
% Introducimos variables&lt;br /&gt;
eta0=5.2;&lt;br /&gt;
u0=2;&lt;br /&gt;
v=1;&lt;br /&gt;
x=0:0.05:10;&lt;br /&gt;
% Calculamos y&lt;br /&gt;
y=eta0*sqrt(v*x/u0);&lt;br /&gt;
% Dibujamos la gráfica&lt;br /&gt;
plot(x,y)&lt;br /&gt;
legend('g(x)')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
title('Capa límite de transición de la velocidad')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Gráficaapartado5.JPG|Gráficaapartado5.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Interpretamos la función &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt; como el borde de la capa límite que hace la transición entre la velocidad&lt;br /&gt;
nula en la placa y la velocidad lejos de la misma del fluido. Se confirma lo que ya podíamos ver en el apartado anterior. A medida que el fluido se aleja del origen de la placa (&amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;), es decir, a medida que aumenta el valor de la variable &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, el fluido alcanza la velocidad inicial constante a una mayor altura (&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=10436</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=10436"/>
				<updated>2014-03-05T20:04:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como::&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido::&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius'''::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales::&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
Para poder resolver esta ecuación independientemente del posterior procedimiento numérico que vayamos a aplicar, primero hemos tenido que convertirla en un sistema, aplicando el método analítico que detallamos a continuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{1}=f(x)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{2}=f'(x)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}=f''(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Así &amp;lt;math&amp;gt;y_{3}'=f'''(x)&amp;lt;/math&amp;gt;, si despejamos de nuestra ecuación diferencial obtenemos que::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{2}=y_{1}'&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}=y_{2}'&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_{3}'=-\frac{1}{2}y_{1}y_{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como resultado de esta transformación obtenemos un sistema para el cual podemos obtener su solución numéricamente.&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje matlab que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Implementando el método de Euler en este sistema:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
         &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que nos dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
La siguiente secuencia de código da solución a la ecuación de Blasius mediante el método de Runge-Kutta, siendo aplicado al sistema de ecuaciones diferenciales obtenido en el primer apartado mediante procedimientos analíticos:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta orden 4&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
% La variable eta recibe el nombre x&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(x_n,f_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(x_n+h/2,f_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de eta&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento f &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(x_n+h/2,f_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento eta que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(x_n+h/2,f_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento eta&lt;br /&gt;
    fp=ff+h*k3; %argumento f&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330, como podemos apreciar en el gráfico.&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros apartados resolvemos el sistema asociado a la ecuación de Blasius numéricamente, en este caso mediante el método de Euler:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
% x es la variable eta del problema&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada valor de eta&lt;br /&gt;
%% Iteraciones f(x_n)--&amp;gt;f(x_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    &lt;br /&gt;
   y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
   f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada eta&lt;br /&gt;
%% Iteraciones f(x_n)--&amp;gt;f(x_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métodos numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''De hecho a simple vista no se aprecia la diferencia.'''&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
Vamos a estudiar a partir de qué valor de &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt; la gráfica difiere 0,01 o menos de 1.&lt;br /&gt;
&lt;br /&gt;
Para esto se puede escoger cualquiera de los métodos numéricos anteriormente utilizados. Y después, para que nos muestre la gráfica de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;, se escriben las siguientes líneas de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
plot(eta,f(2,:),'g')&lt;br /&gt;
legend('f2(eta)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de  f´ para k=0,33')&lt;br /&gt;
}}:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:grafipartado3.jpg|grafipartado3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos como tiende rápidamente al valor 1, por lo que confirma que la k escogida en los apartados anteriores es correcta.&lt;br /&gt;
&lt;br /&gt;
Ahora para encontrar a partir de qué valor de &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt; la gráfica difiere 0,01 o menos de 1; introducimos la siguiente secuencia de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
figure(2)&lt;br /&gt;
gg=abs(f(2,:)-1);&lt;br /&gt;
for n=1:N&lt;br /&gt;
     l=n;&lt;br /&gt;
 if gg(n)&amp;lt;0.01&lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
nu0=l-1&lt;br /&gt;
loquequermos=eta0*h&lt;br /&gt;
&lt;br /&gt;
plot(eta0,gg)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafipartado3b.jpg|grafipartado3b.jpg]]&lt;br /&gt;
&lt;br /&gt;
Visualmente vemos que el valor buscado está más o menos entre 5 y 6. Con la condición del código de que la diferencia en valor absoluto sea menor que 0.01 llegamos a que el valor que buscamos concretamente es 5,2.&lt;br /&gt;
&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
Definimos el campo de velocidades del fluido &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; como::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
A continuación vamos a calcular analíticamente la componente de &amp;lt;math&amp;gt; u_1 &amp;lt;/math&amp;gt; de la velocidad del fluido en función de  &amp;lt;math&amp;gt;f( \eta)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Para ello, desarrollamos la componente hasta la obtención de su expresión final::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_1=\frac{\partial \psi}{\partial y}=\frac{\partial }{\partial y}(\sqrt[]{\nu u_0 x} f(\eta))= \sqrt[]{\nu u_0 x} \frac{\partial f(\eta)}{\partial y}=\sqrt[]{\nu u_0 x} \frac{\partial f(\eta)}{\partial \eta} \frac{\partial \eta}{\partial y}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
Definimos la función &amp;lt;math&amp;gt;\eta(x,y)&amp;lt;/math&amp;gt; como::&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_1=\sqrt[]{\nu u_0 x} \sqrt[]{\frac{u_0}{\nu x}} f’(\eta)=u_0 f’(\eta)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo esta ecuación mediante el método de Rungge-Kutta para un &amp;lt;math&amp;gt;y \in (0,3)&amp;lt;/math&amp;gt; y unos valores de &amp;lt;math&amp;gt;x \in \{0.05, 0.2, 0.4, 0.6, 0.8\}&amp;lt;/math&amp;gt; mediante el siguiente código, que nos permite calcular las gráficas para cada una de las &amp;lt;math&amp;gt;x_{i}&amp;lt;/math&amp;gt; particulares:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Componente u1 de la velocidad&lt;br /&gt;
% Introducimos las variables&lt;br /&gt;
clear all&lt;br /&gt;
u0=2;&lt;br /&gt;
nu=1;&lt;br /&gt;
xk=[0.05 0.2 0.4 0.6 0.8];&lt;br /&gt;
y0=0;&lt;br /&gt;
yf=3;&lt;br /&gt;
h=0.05;&lt;br /&gt;
y=y0:h:yf;&lt;br /&gt;
N=(yf-y0)/h;&lt;br /&gt;
% Iteraciones&lt;br /&gt;
for i=1:5&lt;br /&gt;
eta(i,:)=y*sqrt(u0/(nu*xk(i)));&lt;br /&gt;
% H es el paso para resolver el sistema&lt;br /&gt;
H=0.05*sqrt(u0/(nu*xk(i)));&lt;br /&gt;
k=0.33;&lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
f=[f0(1);f0(2);f0(3)];&lt;br /&gt;
ff=f0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
    A=[0 1 0;0 0 1;(-ff(3)/2) 0 0];&lt;br /&gt;
    j=ff+H*A*ff;&lt;br /&gt;
    ff=ff+(H/2)*(A*ff+A*j);&lt;br /&gt;
    f(:,n+1)=[ff(1);ff(2);ff(3)];&lt;br /&gt;
end&lt;br /&gt;
G(i,:)=f(2,:);&lt;br /&gt;
end&lt;br /&gt;
u1=u0*G;&lt;br /&gt;
&lt;br /&gt;
%% Dibujamos la solución&lt;br /&gt;
hold on&lt;br /&gt;
plot(y,u1(1,:),'m')&lt;br /&gt;
plot(y,u1(2,:),'b')&lt;br /&gt;
plot(y,u1(3,:),'r')&lt;br /&gt;
plot(y,u1(4,:),'g')&lt;br /&gt;
plot(y,u1(5,:),'c')&lt;br /&gt;
legend('para x=0.05','para x=0.2','para x=0.4','para x=0.6','para x=0.8')&lt;br /&gt;
xlabel('y')&lt;br /&gt;
ylabel('u1')&lt;br /&gt;
title ('Componente u1 de la velocidad')&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Gráfica del apartado 4.JPG|Gráfica del apartado 4.JPG]]&lt;br /&gt;
&lt;br /&gt;
==Conclusión==&lt;br /&gt;
Como vemos en la gráfica, podemos deducir que el fluido cuando se mueve sobre el eje de abscisas, necesita una altura mayor para poder tener una velocidad limite mas estabilizada. Observamos que la primera línea es muy próxima a una recta pero que las siguiente según avanzamos en las x se van acercando a una figura más parabólica. Estas curvas representan la transición de la velocidad del fluido desde la capa (donde es nula) hasta que alcanza u0 aumenta a medida que avanzamos por la placa.&lt;br /&gt;
&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
Hemos comprobado que la altura (&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;) a la que el fluido alcanza la velocidad constante (&amp;lt;math&amp;gt;u_0=2&amp;lt;/math&amp;gt;) depende de la distancia recorrida sobre la placa (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;). Ahora vamos a dibujar la función &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt; es el valor &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; para el cual &amp;lt;math&amp;gt;\eta=\eta_0&amp;lt;/math&amp;gt;, para observar como es ese cambio de &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; en función de la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;.&lt;br /&gt;
La relación entre estas variables viene dada por la expresión: &amp;lt;math&amp;gt;\eta  = y  \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt;&lt;br /&gt;
Despejamos la &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; y suponemos &amp;lt;math&amp;gt;u_0=2&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;\nu=1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\eta=\eta_0=5.2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;y=\eta_0  \sqrt[]{ \frac{x}{2}}=g(x)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Representamos esta función en Matlab.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Dibujamos la función g(x), y en función eta0(cte.) y  de x.&lt;br /&gt;
% Introducimos variables&lt;br /&gt;
eta0=5.2;&lt;br /&gt;
u0=2;&lt;br /&gt;
v=1;&lt;br /&gt;
x=0:0.05:10;&lt;br /&gt;
% Calculamos y&lt;br /&gt;
y=eta0*sqrt(v*x/u0);&lt;br /&gt;
% Dibujamos la gráfica&lt;br /&gt;
plot(x,y)&lt;br /&gt;
legend('g(x)')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
title('Capa límite de transición de la velocidad')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Gráficaapartado5.JPG|Gráficaapartado5.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Interpretamos la función &amp;lt;math&amp;gt;g(x)&amp;lt;/math&amp;gt; como el borde de la capa límite que hace la transición entre la velocidad&lt;br /&gt;
nula en la placa y la velocidad lejos de la misma del fluido. Se confirma lo que ya podíamos ver en el apartado anterior. A medida que el fluido se aleja del origen de la placa (&amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;), es decir, a medida que aumenta el valor de la variable &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, el fluido alcanza la velocidad inicial constante a una mayor altura (&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9952</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9952"/>
				<updated>2014-03-04T18:31:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Representación e interpretación de f’(\eta) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''De hecho a simple vista no se aprecia la diferencia.'''&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de qué valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
&lt;br /&gt;
Para este apartado se puede escoger cualquiera de los métodos numéricos anteriormente utilizados. Y después, para que nos muestre la gráfica de f', se escriben las siguientes líneas de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
plot(eta,f(2,:),'g')&lt;br /&gt;
legend('f2(eta)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de  f´ para k=0,33')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:grafipartado3.jpg|grafipartado3.jpg]]&lt;br /&gt;
Observamos como tiende rápidamente al valor 1, por lo que confirma que la k escogida en los apartados anteriores es correcta.&lt;br /&gt;
&lt;br /&gt;
Ahora para encontrar a partir de qué valor de eta la gráfica difiere 0,01 o menos de 1:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
figure(2)&lt;br /&gt;
gg=abs(f(2,:)-1);&lt;br /&gt;
for n=1:N&lt;br /&gt;
     l=n;&lt;br /&gt;
 if gg(n)&amp;lt;0.01&lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
nu0=n-1&lt;br /&gt;
loquequermos=eta0*h&lt;br /&gt;
&lt;br /&gt;
plot(eta0,gg)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafipartado3b.jpg|grafipartado3b.jpg]]&lt;br /&gt;
&lt;br /&gt;
Visualmente vemos que el valor buscado está más o menos entre 5 y 6. Con la condición del código de que la diferencia en valor absoluto sea menor que 0.01 llegamos a que el valor que buscamos es concretamente 5,2.&lt;br /&gt;
&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9951</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9951"/>
				<updated>2014-03-04T18:30:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Representación e interpretación de f’(\eta) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''De hecho a simple vista no se aprecia la diferencia.'''&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de qué valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
&lt;br /&gt;
Para este apartado se puede escoger cualquiera de los métodos numéricos anteriormente utilizados. Y después, para que nos muestre la gráfica de f', se escriben las siguientes líneas de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
plot(eta,f(2,:),'g')&lt;br /&gt;
legend('f2(eta)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de  f´ para k=0,33')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:grafipartado3.jpg|grafipartado3.jpg]]&lt;br /&gt;
Observamos como tiende rápidamente al valor 1, por lo que confirma que la k escogida en los apartados anteriores es correcta.&lt;br /&gt;
&lt;br /&gt;
Ahora para encontrar a partir de qué valor de eta la gráfica difiere 0,01 o menos de 1:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
figure(2)&lt;br /&gt;
gg=abs(f(2,:)-1);&lt;br /&gt;
for n=1:N&lt;br /&gt;
     l=n;&lt;br /&gt;
 if gg(n)&amp;lt;0.01&lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
nu0=n-1&lt;br /&gt;
loquequermos=eta0*h&lt;br /&gt;
&lt;br /&gt;
plot(eta0,gg)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafipartado3b.jpg|grafipartado3b.jpg]]&lt;br /&gt;
&lt;br /&gt;
Visualmente vemos que el valor buscado está más o menos entre 5 y 6. Con la condición del código de que la diferencia es valor absoluto sea menor que 0.01 llegamos a que el valor que buscamos es concretamente 5,2.&lt;br /&gt;
&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado3b.jpg&amp;diff=9950</id>
		<title>Archivo:Grafipartado3b.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado3b.jpg&amp;diff=9950"/>
				<updated>2014-03-04T18:27:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado3.jpg&amp;diff=9948</id>
		<title>Archivo:Grafipartado3.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado3.jpg&amp;diff=9948"/>
				<updated>2014-03-04T18:26:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9947</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9947"/>
				<updated>2014-03-04T18:26:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Representación e interpretación de f’(\eta) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''De hecho a simple vista no se aprecia la diferencia.'''&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de qué valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
&lt;br /&gt;
Para este apartado se puede escoger cualquiera de los métodos numéricos anteriormente utilizados. Y después, para que nos muestre la gráfica de f', se escriben las siguientes líneas de código:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
plot(eta,f(2,:),'g')&lt;br /&gt;
legend('f2(eta)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de  f´ para k=0,33')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:grafipartado3.jpg|grafipartado3.jpg]]&lt;br /&gt;
Observamos como tiende rápidamente al valor 1, por lo que confirma que la k escogida en los apartados anteriores es correcta.&lt;br /&gt;
&lt;br /&gt;
Ahora para encontrar a partir de qué valor de eta la gráfica difiere 0,01 o menos de 1:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
figure(2)&lt;br /&gt;
gg=abs(f(2,:)-1);&lt;br /&gt;
for n=1:N&lt;br /&gt;
     l=n;&lt;br /&gt;
 if gg(n)&amp;lt;0.01&lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
nu0=n-1&lt;br /&gt;
loquequermos=eta0*h&lt;br /&gt;
&lt;br /&gt;
plot(eta0,gg)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafipartado3b.jpg|grafipartado3b.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9942</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9942"/>
				<updated>2014-03-04T18:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Comparativa entre los tres métodos, elección de k */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''De hecho a simple vista no se aprecia la diferencia.'''&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9941</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9941"/>
				<updated>2014-03-04T18:06:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Comparativa entre los tres métodos, elección de k */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9940</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9940"/>
				<updated>2014-03-04T18:06:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Comparativa entre los tres métodos, elección de k */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border|Con RK4]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border|Con Euler]]&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9937</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9937"/>
				<updated>2014-03-04T18:00:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     &lt;br /&gt;
[[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.320&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9936</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9936"/>
				<updated>2014-03-04T18:00:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     [[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9934</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9934"/>
				<updated>2014-03-04T17:59:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     [[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9932</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9932"/>
				<updated>2014-03-04T17:58:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es k=0.330&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     [[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado2d.jpeg&amp;diff=9931</id>
		<title>Archivo:Grafipartado2d.jpeg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado2d.jpeg&amp;diff=9931"/>
				<updated>2014-03-04T17:56:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9930</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9930"/>
				<updated>2014-03-04T17:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Runge-Kutta&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
  end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2d.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     [[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9929</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9929"/>
				<updated>2014-03-04T17:54:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=x(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=x(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f1(x)','f2(x)','f3(x)')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     [[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9928</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9928"/>
				<updated>2014-03-04T17:52:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     [[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado2c.jpeg&amp;diff=9927</id>
		<title>Archivo:Grafipartado2c.jpeg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado2c.jpeg&amp;diff=9927"/>
				<updated>2014-03-04T17:52:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9925</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9925"/>
				<updated>2014-03-04T17:51:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
                     [[Archivo:Grafipartado2c.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9923</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9923"/>
				<updated>2014-03-04T17:50:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Comparativa entre los tres métodos, elección de k */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
                     [[Archivo:Grafipartado2b.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
La diferencia entre los tres métoods numéricos empleados para resolver la ecuacion de Blasius (Euler modificado, Runge-Kutta y Euler), es muy pequeña. La forma de las gráficas es completamente similar y el valor que se obtiene para que f'(20) sea lo más proxima a uno es en el caso de Euler modificado y Runge-Kutta igual a 0.33 y en Euler es 0.32. Por la tanto la diferencia entre los tres métodos es pequeña&lt;br /&gt;
&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado2b.jpeg&amp;diff=9922</id>
		<title>Archivo:Grafipartado2b.jpeg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafipartado2b.jpeg&amp;diff=9922"/>
				<updated>2014-03-04T17:44:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9921</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9921"/>
				<updated>2014-03-04T17:44:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
                     [[Archivo:Grafipartado2b.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9914</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9914"/>
				<updated>2014-03-04T17:42:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
Al igual que en los otros método lo primero es pasar de la ecuación difrencial de tercer grado a un sistema de tres ecuaciones diferenciales.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9912</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9912"/>
				<updated>2014-03-04T17:41:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9911</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9911"/>
				<updated>2014-03-04T17:39:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
% Datos del problema y discretización&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
f0=[0 0 k(j)]';&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solucion&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
clf&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (1)&lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
figure(2)&lt;br /&gt;
%ya con la k=0,33&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
x0=0;&lt;br /&gt;
xf=20;&lt;br /&gt;
k=0.32   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
%% Iteraciones y(t_n)--&amp;gt;y(t_n+1)&lt;br /&gt;
for n=1:N&lt;br /&gt;
&lt;br /&gt;
y=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
   ff=ff+h*y;&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, con Euler f´(20) a 1, ya con la k escogida')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9903</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9903"/>
				<updated>2014-03-04T17:30:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9901</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9901"/>
				<updated>2014-03-04T17:30:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
                                              [[|Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9900</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9900"/>
				<updated>2014-03-04T17:29:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
[[=aligncenter|Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9899</id>
		<title>Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Capa_l%C3%ADmite_de_un_fluido_laminar_sobre_una_placa_plana_(Grupo_9-B)&amp;diff=9899"/>
				<updated>2014-03-04T17:28:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jose Manuel Corbí Garrido: /* Mediante el método de Runge-Kutta de cuarto orden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Capa límite de un fluido laminar sobre una placa plana (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
{{ Beta }}&lt;br /&gt;
=Introducción y enunciado del problema=&lt;br /&gt;
En este artículo, se desarrollará el estudio de la capa límite de un fluido laminar sobre una placa plana semi-infinita mediante métodos numéricos programados en lenguaje M. De esta forma el lector podrá reproducir (si así lo desea) los algoritmos y códigos aquí escritos en  MATLAB u otras alternativas de software libre como Octave.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG1.png|miniaturadeimagen|Fluido laminar por encima de una placa plana]]&lt;br /&gt;
&lt;br /&gt;
El tratamiento de este problema mediante métodos numéricos requiere una definición precisa de las condiciones iniciales y de contorno. En nuestro caso definiremos la  semi-placa en el plano cartesiano como la semirecta &amp;lt;math&amp;gt;y=0&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;x∈(0,∞)&amp;lt;/math&amp;gt;; y estudiaremos lo que pasa por encima de ella &amp;lt;math&amp;gt;(x&amp;gt;0, y&amp;gt;0)&amp;lt;/math&amp;gt;. El fluido laminar que se encuentra con la placa, antes de llegar a ella tiene una velocidad constante de &amp;lt;math&amp;gt;\overrightarrow{u} =  u_0\cdot\overrightarrow{i}, u_0 = 2 &amp;lt;/math&amp;gt;, iniciándose una fase de transición en su encuentro  con la placa (la velocidad es nula en los puntos de la placa), y lejos del punto de encuentro, una vez  finalizada la transición, volviendo a fluir a la velocidad constante inicial. &lt;br /&gt;
El campo de velocidades del fluido se define como:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=(u_1,u_2)=(\frac{\partial \psi}{\partial y},-\frac{\partial \psi}{\partial x})&amp;lt;/math&amp;gt;  &lt;br /&gt;
donde &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; es la corriente del fluido :&lt;br /&gt;
&amp;lt;math&amp;gt;\psi(x,y)  =  \sqrt[]{ \nu \cdot\ u_0 \cdot x} f(\eta)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;ν&amp;lt;/math&amp;gt; es su viscosidad (que supondremos &amp;lt;math&amp;gt;ν = 1&amp;lt;/math&amp;gt;), &amp;lt;math&amp;gt; f(\eta) &amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;\eta = y \sqrt[]{ \frac{u_0}{\nu x}}&amp;lt;/math&amp;gt; satisface la '''ecuación de Blasius''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f''' + \frac{1}{2}f f'' =0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los siguientes apartados resolveremos numéricamente esta ecuación diferencial ordinaria no lineal, para unas condiciones iniciales:&lt;br /&gt;
&amp;lt;math&amp;gt;f(0)=f(0)'=0; f(0)''=k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt; f'\rightarrow 1&amp;lt;/math&amp;gt; cuando &amp;lt;math&amp;gt;\eta\rightarrow \infty&amp;lt;/math&amp;gt;&lt;br /&gt;
tomando &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  valores &amp;lt;math&amp;gt; k \in \mbox{(0,1;1)}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;dk=0,01&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación estudiaremos la resolución de la ecuación mediante diferentes métodos numéricos, y estudiaremos el &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;  &amp;quot;óptimo&amp;quot; para las condiciones iniciales enunciadas.&lt;br /&gt;
=Resolución numérica de la ecuación de Blasius=&lt;br /&gt;
==Mediante el método de Euler modificado==&lt;br /&gt;
A continuación se muestra el código en lenguaje M que proporciona las soluciones numéricas a la ecuación de Blasius para los diferentes valores de k (recordemos que tomaba valores de 0,1 hasta 1 con un paso de 0,01) en un intervalo &amp;lt;math&amp;gt; \eta \in \mbox{(0,20)}&amp;lt;/math&amp;gt;. Hemos tomado una &amp;lt;math&amp;gt;h=0,5&amp;lt;/math&amp;gt;. Para poder resolver la ecuación, primero hemos tenido que convertirla en un sistema, tal como se indica en los comentarios del código.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Método de Euler modificado&lt;br /&gt;
 &lt;br /&gt;
% y1=f;&lt;br /&gt;
% y2=f';&lt;br /&gt;
% y3=f'';&lt;br /&gt;
% y3'=f'''=-1/2*f*f''=-1/2*y1*y3&lt;br /&gt;
%% Datos del problema y discretización&lt;br /&gt;
x0=0; % las x son las eta de las que depende f&lt;br /&gt;
xf=20;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(xf-x0)/h;&lt;br /&gt;
%% Vectores de eta, k y aproximaciones&lt;br /&gt;
x=x0:h:xf;&lt;br /&gt;
k0=0.1;&lt;br /&gt;
kf=1;&lt;br /&gt;
k=0.1:0.01:1;&lt;br /&gt;
K=length(k);&lt;br /&gt;
for j=1:K  &lt;br /&gt;
    f0=[0 0 k(j)]';&lt;br /&gt;
    %% Inicialización&lt;br /&gt;
    f(:,1)=f0;&lt;br /&gt;
    ff=f0; % Valor de la aprox. en cada x&lt;br /&gt;
    %% Iteraciones y(x_n)--&amp;gt;y(x_n+1)&lt;br /&gt;
    for n=1:N&lt;br /&gt;
        % calculamos k1=f(x_n,y_n)&lt;br /&gt;
        k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
        % Calculamos k2=f(x_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
        xp=x(n)+h; %argumento de x&lt;br /&gt;
        fp=ff+h*k1; %argumento y &lt;br /&gt;
        k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
        %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
        %mismo argumento x que antes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        ff=ff+h/2*(k1+k2);&lt;br /&gt;
        f(:,n+1)=ff;&lt;br /&gt;
 &lt;br /&gt;
    end&lt;br /&gt;
    laf2paraescogerk(j)=f(2,N);&lt;br /&gt;
end&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
f2=laf2paraescogerk;&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(x,f)&lt;br /&gt;
legend('f(x)','f´(x)','f´´(x)')&lt;br /&gt;
xlabel('eta')&lt;br /&gt;
ylabel('valores de f, f´, f´´')&lt;br /&gt;
title('Representación de f, f´,f´´ en intervalo de eta, siendo k el que mejor aproxima f´(20) a 1')&lt;br /&gt;
corte=1;&lt;br /&gt;
figure (2)&lt;br /&gt;
hold on &lt;br /&gt;
plot(k,laf2paraescogerk)&lt;br /&gt;
legend('f´(20)')&lt;br /&gt;
xlabel('k')&lt;br /&gt;
ylabel('valores de f´(20)')&lt;br /&gt;
title('Representación de f(20)´ para los posibles k')&lt;br /&gt;
plot(k,corte,'red')&lt;br /&gt;
hold off&lt;br /&gt;
%Para calcular la k de forma exacta utilizamos este bucle que no dice con qué k la diferencia en valor absoluto entre la f´(n) y uno es menor&lt;br /&gt;
for n=1:K&lt;br /&gt;
     l=n;&lt;br /&gt;
     p=abs(1-f2(n));&lt;br /&gt;
 if min(abs(1-f2))==p &lt;br /&gt;
     &lt;br /&gt;
   break&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
kfinal=k(l)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif1.jpg|miniaturadeimagen|f,f´,f´´ con k=0,33 para intervalo de eta de 0 a 20]]&lt;br /&gt;
[[Archivo:Grp9BIMAG2eulermodif2.jpg|border|f´(20) para los distintos valores de k]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en el gráfico, según este método la k que mejor se ajusta a las condiciones iniciales es &amp;lt;math&amp;gt;k=0.330&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Runge-Kutta de cuarto orden==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Resolver sistema  con un método RK4&lt;br /&gt;
% datos del problema&lt;br /&gt;
nui=0;&lt;br /&gt;
nuf=20;&lt;br /&gt;
k=0.33;   &lt;br /&gt;
f0=[0 0 k]';&lt;br /&gt;
%% Datos discretizacion&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=(nuf-nui)/h;&lt;br /&gt;
%% Vectores de tiempos y aproximaciones&lt;br /&gt;
nu=nui:h:nuf;&lt;br /&gt;
f=zeros(3,N+1);&lt;br /&gt;
%% Inicialización&lt;br /&gt;
f(:,1)=f0;&lt;br /&gt;
ff=f0; % Valor de la aprox. en cada tiempo&lt;br /&gt;
&lt;br /&gt;
for n=1:N&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ff(2) ff(3) -1/2*ff(1)*ff(3)]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    xp=nu(n)+h/2; %argumento de tiempo&lt;br /&gt;
    fp=ff+1/2*h*k1; %argumento y &lt;br /&gt;
    k2=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    fp=ff+1/2*h*k2;%argumento y&lt;br /&gt;
    k3=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    %calculamos k4=f(t_n+h/2,y_n+1/2k3*h)&lt;br /&gt;
    xp=nu(n)+h;%argumento tiempo&lt;br /&gt;
    fp=ff+h*k3; %argumento y&lt;br /&gt;
    k4=[fp(2) fp(3) -1/2*fp(1)*fp(3)]';&lt;br /&gt;
    ff=ff+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
    f(:,n+1)=ff;&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% dibujo la solución&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
plot(nu,f)&lt;br /&gt;
legend('f1(nu)','f2(nu)','f3(nu)')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Grafipartado2.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
==Mediante el método de Euler==&lt;br /&gt;
==Comparativa entre los tres métodos, elección de k==&lt;br /&gt;
=Representación e interpretación de &amp;lt;math&amp;gt;f’(\eta)&amp;lt;/math&amp;gt;=&lt;br /&gt;
 [A partir de que valor de eta la gráfica difiere 0,01 o menos de 1]&lt;br /&gt;
=Campo de velocidades del fluido=&lt;br /&gt;
==Cálculo y representación de &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt;==&lt;br /&gt;
=Capa límite, transición entre la velocidad nula al comienzo de la placa y lejos de la misma=&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Jose Manuel Corbí Garrido</name></author>	</entry>

	</feed>