<?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=Jaime.saenzdemiera</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=Jaime.saenzdemiera"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Jaime.saenzdemiera"/>
		<updated>2026-04-24T08:50:42Z</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_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73215</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73215"/>
				<updated>2024-05-28T06:56:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Vídeo de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el vídeo inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Vídeo de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Vídeo de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Vídeo de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Vídeo de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Vídeo de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3c.gif|400px|thumb|right|Vídeo de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73165</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73165"/>
				<updated>2024-05-27T19:56:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Vídeo de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el vídeo inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Vídeo de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Vídeo de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Vídeo de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Vídeo de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Vídeo de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3c.gif|400px|thumb|right|Vídeo de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73163</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73163"/>
				<updated>2024-05-27T19:55:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Condiciones Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Vídeo de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el vídeo inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Vídeo de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Vídeo de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Vídeo de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73162</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73162"/>
				<updated>2024-05-27T19:54:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Onda que viaja en un solo sentido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Vídeo de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el vídeo inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Vídeo de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Vídeo de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73160</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73160"/>
				<updated>2024-05-27T19:54:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Resolución */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Vídeo de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el vídeo inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Vídeo de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73159</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73159"/>
				<updated>2024-05-27T19:53:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Resolución */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Vídeo de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el vídeo inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73154</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73154"/>
				<updated>2024-05-27T19:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental3c.gif&amp;diff=73153</id>
		<title>Archivo:Fundamental3c.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental3c.gif&amp;diff=73153"/>
				<updated>2024-05-27T19:48:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73150</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73150"/>
				<updated>2024-05-27T19:46:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1c.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental1c.gif&amp;diff=73148</id>
		<title>Archivo:Fundamental1c.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental1c.gif&amp;diff=73148"/>
				<updated>2024-05-27T19:45:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73147</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73147"/>
				<updated>2024-05-27T19:42:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Condiciones Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5c.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CuerdaEj5c.gif&amp;diff=73146</id>
		<title>Archivo:CuerdaEj5c.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CuerdaEj5c.gif&amp;diff=73146"/>
				<updated>2024-05-27T19:42:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73145</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73145"/>
				<updated>2024-05-27T19:40:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Onda que viaja en un solo sentido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Cuerdaej4c.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Cuerdaej4c.gif&amp;diff=73143</id>
		<title>Archivo:Cuerdaej4c.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Cuerdaej4c.gif&amp;diff=73143"/>
				<updated>2024-05-27T19:40:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73142</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73142"/>
				<updated>2024-05-27T19:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Onda que viaja en un solo sentido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4c.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73140</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73140"/>
				<updated>2024-05-27T19:35:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Aplicación de la solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución del problema]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73139</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73139"/>
				<updated>2024-05-27T19:34:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Aplicación de la solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|right|Solución en t=0]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Conv.gif&amp;diff=73138</id>
		<title>Archivo:Conv.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Conv.gif&amp;diff=73138"/>
				<updated>2024-05-27T19:34:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73137</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73137"/>
				<updated>2024-05-27T19:33:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* algo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==Aplicación de la solución fundamental==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|left|Solución en t=0]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73102</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73102"/>
				<updated>2024-05-27T18:21:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* algo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==algo==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|left|Solución en t=0]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|800px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73101</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73101"/>
				<updated>2024-05-27T18:20:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* algo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a analizar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales y de contorno. También, estudiaremos la solución fundamental de este problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora, para ver como se comporta esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera que hemos establecido en todo momento. Además, cabe destacar que la cuerda empieza dividiéndose en dos viajando cada parte hacia un lado, y cuando estas llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces, como se puede observar en el video inferior, por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|center|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a tomar como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo, lo que va a hacer que la onda viaje en un solo sentido a diferencia del caso anterior. &lt;br /&gt;
&lt;br /&gt;
Para representarlo, también vamos a realizar las integrales para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero, ya que la condición frontera no se ha variado. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la onda es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos observar que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir, imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo y representarlo, procedemos igual que en los apartados anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril, esto se debe a que lo que hemos establecido en 0 es la derivada y no la posición. Sin embargo, si observamos más detenidamente el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera. Pero realmente este comportamiento se debe a que estamos aproximando las integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3, y como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;, donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 1 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\), donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce la siguiente regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo \(\epsilon\) un pequeño valor positivo para evitar la singularidad, este le vamos a tomar como: \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 2 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso emos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\), donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), siendp \(k\) un parámetro grande que vamos a tomar como: \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental en dimensión 3 a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas, este establece que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas, que hemos visto en las secciones anteriores, describen cómo una perturbación inicial localizada se propaga a través del espacio. Por lo que estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c y cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propaga hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. &lt;br /&gt;
&lt;br /&gt;
En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==algo==&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a tomar el siguiente problemas;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=h(x)=_{B(0,\frac{1}{2})}(x),&amp;amp;x\in\mathbb{R}^n,&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuya solución viene dada por: &amp;lt;math&amp;gt;u(x,t)=\int_{\mathbb{R}^2}K_2(x-y,t)h(y)dy.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para entender el comportamiento de esta solución vamos a representarla para distintos tiempos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:conv.gif|400px|thumb|left|Solución en t=0]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=0:0.1:3;             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi,30);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,4,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;conv&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=1;&lt;br /&gt;
open(pelicula);&lt;br /&gt;
for j=1:length(t)&lt;br /&gt;
    for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
    end&lt;br /&gt;
    colormap jet&lt;br /&gt;
    figura = figure(1);&lt;br /&gt;
    surf(XX,YY,U)&lt;br /&gt;
    shading interp&lt;br /&gt;
    title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
    axis([-4 4 -4 4 0 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el vídeo podemos ver claramente cómo la solución representa la evolución de una onda producida por una perturbación inicial. En las siguientes imágenes se muestra la solución en 4 tiempos distintos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fotosconv.png|400px|thumb|left|Solución en en los tiempos 0, 0.5, 1 y 2]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fotosconv.png&amp;diff=73098</id>
		<title>Archivo:Fotosconv.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fotosconv.png&amp;diff=73098"/>
				<updated>2024-05-27T18:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73022</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=73022"/>
				<updated>2024-05-27T14:39:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso también vemos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\). Donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución en gráficos, se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), donde \(k\) es un parámetro grande que vamos a tomar \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas que dice que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas que hemos visto en las secciones anteriores describen cómo una perturbación inicial localizada se propaga a través del espacio. Estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c. Cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propagan hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;br /&gt;
&lt;br /&gt;
==algo==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
  &lt;br /&gt;
 c=1;  % Velocidad de propagación.  &lt;br /&gt;
 t=[2];             % Valores de t&lt;br /&gt;
 theta=linspace(0,2*pi);      %  intervalo de theta&lt;br /&gt;
 r=linspace(0,1,50);      % intervalo del radio&lt;br /&gt;
 &lt;br /&gt;
 [TT,RR]=meshgrid(theta,r); &lt;br /&gt;
 n=size(TT);&lt;br /&gt;
 U=zeros(n);                % Inicializamos la matriz U&lt;br /&gt;
 XX=RR.*cos(TT);&lt;br /&gt;
 YY=RR.*sin(TT);&lt;br /&gt;
 &lt;br /&gt;
% Solución fundamental en polares&lt;br /&gt;
 K=@(x,y,r,t)(sqrt(r.^2+y.^2-2*r.*y.*cos(x))&amp;lt;c*t)./(0.01*(c^2*t.^2-r.^2- y.^2 + 2.*r.*y.*cos(x)&amp;lt;10^-16)+2*pi*c*sqrt(abs(c^2*t.^2- r.^2- y.^2 + 2.*r.*y.*cos(x)))); &lt;br /&gt;
 &lt;br /&gt;
 % Solución para cada valor de t&lt;br /&gt;
 for j=1:length(t)&lt;br /&gt;
     for i=1:length(r)&lt;br /&gt;
         U(i,:)=integral2(@(x,y)K(x,y,r(i),t(j)), 0,2*pi,  0,1/2)*ones(1,length(theta));&lt;br /&gt;
     end&lt;br /&gt;
    colormap jet&lt;br /&gt;
     figure(j)&lt;br /&gt;
     surf(XX,YY,U)&lt;br /&gt;
     shading interp&lt;br /&gt;
     title(&amp;quot;t=&amp;quot;+num2str(t(j)))&lt;br /&gt;
 &lt;br /&gt;
 end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:t0.png|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
[[Archivo:tt05.png|400px|thumb|left|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
[[Archivo:t1.png|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
[[Archivo:tt2.png|400px|thumb|left|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Tt05.png&amp;diff=73020</id>
		<title>Archivo:Tt05.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Tt05.png&amp;diff=73020"/>
				<updated>2024-05-27T14:39:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Tt2.png&amp;diff=73019</id>
		<title>Archivo:Tt2.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Tt2.png&amp;diff=73019"/>
				<updated>2024-05-27T14:38:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:T1.png&amp;diff=73017</id>
		<title>Archivo:T1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:T1.png&amp;diff=73017"/>
				<updated>2024-05-27T14:38:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:T0.png&amp;diff=73015</id>
		<title>Archivo:T0.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:T0.png&amp;diff=73015"/>
				<updated>2024-05-27T14:38:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72997</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72997"/>
				<updated>2024-05-27T14:05:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0, 1, 1000); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=100;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 100])&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso también vemos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\). Donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución en gráficos, se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), donde \(k\) es un parámetro grande que vamos a tomar \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas que dice que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas que hemos visto en las secciones anteriores describen cómo una perturbación inicial localizada se propaga a través del espacio. Estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c. Cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propagan hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental2b.gif&amp;diff=72996</id>
		<title>Archivo:Fundamental2b.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental2b.gif&amp;diff=72996"/>
				<updated>2024-05-27T14:03:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72904</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72904"/>
				<updated>2024-05-27T10:17:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección vamos a analizar la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 1, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso también vemos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\). Donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución en gráficos, se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), donde \(k\) es un parámetro grande que vamos a tomar \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas que dice que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas que hemos visto en las secciones anteriores describen cómo una perturbación inicial localizada se propaga a través del espacio. Estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c. Cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propagan hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72903</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72903"/>
				<updated>2024-05-27T10:16:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 1, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso también vemos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\). Donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución en gráficos, se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), donde \(k\) es un parámetro grande que vamos a tomar \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;br /&gt;
&lt;br /&gt;
==Principio de Huygens==&lt;br /&gt;
&lt;br /&gt;
El principio de Huygens es un concepto fundamental en la física de ondas que dice que cada punto de un frente de onda se puede considerar como una fuente secundaria de ondas esféricas. Estas ondas secundarias se superponen para formar el nuevo frente de onda a medida que avanza.&lt;br /&gt;
&lt;br /&gt;
Las soluciones fundamentales de la ecuación de ondas que hemos visto en las secciones anteriores describen cómo una perturbación inicial localizada se propaga a través del espacio. Estas soluciones proporcionan una interpretación del principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la perturbación inicial se propaga en dos direcciones opuestas a velocidad c. Cada punto a lo largo de la línea puede ser visto como una fuente de ondas que se propagan hacia la izquierda y hacia la derecha, formando así el nuevo frente de onda. Este comportamiento lineal refleja cómo las ondas se suman en una dimensión para avanzar. En el caso de dos dimensiones, la perturbación inicial se expande radialmente formando círculos concéntricos y en el de tres dimensiones la perturbación inicial se propaga esféricamente.&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72808</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72808"/>
				<updated>2024-05-26T18:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 1, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso también vemos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\). Donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución en gráficos, se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), donde \(k\) es un parámetro grande que vamos a tomar \(k=1000\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental3.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
k = 1000; % Parámetro de aproximación&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 3, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Aproximación de la delta de Dirac&lt;br /&gt;
phi_k = @(s) sqrt(k / pi) * exp(-k * s.^2);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 3&lt;br /&gt;
K3 = @(r, t) (phi_k(r - c * t) ./ (4 * pi * c * r));&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental3&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K3(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 3 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el caso de dimensión 3 vemos que de nuevo la solución representa una onda que se propaga radialmente por culpa de una perturbación formando círculos concéntricos alrededor del origen. A diferencia del caso anterior, aquí se ve cómo la onda va perdiendo intensidad a medida que avanza el tiempo.&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental3.gif&amp;diff=72806</id>
		<title>Archivo:Fundamental3.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental3.gif&amp;diff=72806"/>
				<updated>2024-05-26T17:59:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72805</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72805"/>
				<updated>2024-05-26T17:54:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 1, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso también vemos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;br /&gt;
&lt;br /&gt;
En tres dimensiones, la solución fundamental es \(K_3(x, t) = \frac{\delta(|x| - ct)}{4\pi c |x|}\). Donde \(\delta(s)\) es la delta de Dirac. Para representar esta solución en gráficos, se utiliza una aproximación de la delta de Dirac mediante una función gaussiana: \(\delta(s) \approx \phi_k(s) = \sqrt{\frac{k}{\pi}} e^{-ks^2}\), donde \(k\) es un parámetro grande que vamos a tomar \(k=1000\)&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72804</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72804"/>
				<updated>2024-05-26T17:51:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental2.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
epsilon = 0.01; % Regularización&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 1, 100); % Tiempo&lt;br /&gt;
r = linspace(0, 1, 1000); % Radio&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental regularizada en dimensión 2&lt;br /&gt;
K2 = @(r,t) 1./(epsilon+2*pi*c.*sqrt(c^2*t^2-r.^2)).*(r &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental2&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(r,K2(r,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    axis([0 1 0 20])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso también vemos cómo la solución también representa una onda que se propaga radialmente formando círculos concéntricos alrededor del origen.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental2.gif&amp;diff=72802</id>
		<title>Archivo:Fundamental2.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental2.gif&amp;diff=72802"/>
				<updated>2024-05-26T17:45:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72780</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72780"/>
				<updated>2024-05-26T17:20:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad, que vamos a tomar \(\epsilon=0.01\).&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72779</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72779"/>
				<updated>2024-05-26T17:19:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
En dos dimensiones, la solución fundamental se expresa como: \(K_2(x, t) = \frac{1}{2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x)\). Donde \(\chi_{B(0,ct)}(x)\) es la función característica de la bola de radio \(ct\) centrada en el origen. Debido a la singularidad en esta expresión, se introduce una regularización:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
K_2^\epsilon (x, t) = \frac{1}{\epsilon + 2\pi c \sqrt{c^2 t^2 - |x|^2}} \chi_{B(0,ct)}(x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\epsilon\) es un pequeño valor positivo para evitar la singularidad.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72776</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72776"/>
				<updated>2024-05-26T17:17:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dimensión 3==&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72775</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72775"/>
				<updated>2024-05-26T17:16:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas en dimensiones 1, 2 y 3 y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72774</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72774"/>
				<updated>2024-05-26T17:15:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde \(\delta(x)\) es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72773</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72773"/>
				<updated>2024-05-26T17:14:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Solución fundamental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;br /&gt;
&lt;br /&gt;
En esta sección se analiza la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3. La solución fundamental es crucial para comprender cómo una perturbación inicial localizada se propaga en el espacio con el tiempo. Para la ecuación de ondas, la solución fundamental se obtiene resolviendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{cases}&lt;br /&gt;
u_{tt}- c^2 \Delta u = 0,&amp;amp; x\in\mathbb{R}^n,t&amp;gt;0,\\&lt;br /&gt;
u(x,0)=0,u_t(x,0)=\delta(x),&amp;amp;x\in\mathbb{R}^n&lt;br /&gt;
\end{cases}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\delta(x)\)&amp;lt;/math&amp;gt; es la delta de Dirac, que representa una perturbación puntual en el origen. La forma de la solución fundamental depende de la dimensión del espacio en el que se propaga la onda, por lo que la vamos a dibujarlas y, como todas son radiales, lo haremos en su variable radial.&lt;br /&gt;
&lt;br /&gt;
==Dimensión 1==&lt;br /&gt;
&lt;br /&gt;
En una dimensión, la solución fundamental está dada por &amp;lt;math&amp;gt;K_1(x, t) = \frac{1}{2c} [H(x + ct) - H(x - ct)]&amp;lt;/math&amp;gt;. Donde \(H(s)\) es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:fundamental1.gif|400px|thumb|right|Video de la evolución de la solución fundamental a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1; % Velocidad de propagación&lt;br /&gt;
t = linspace(0.01, 3, 100); % Tiempo&lt;br /&gt;
x = linspace(-3, 3, 1000); % Dominio espacial&lt;br /&gt;
&lt;br /&gt;
% Función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Solución fundamental en dimensión 1&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
%Lo representamos en un video&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;fundamental1&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,K1(x,t(i)),color='b',LineWidth=1.5);&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Esta solución describe una onda que se propaga en ambas direcciones a partir del punto de perturbación.&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental1.gif&amp;diff=72772</id>
		<title>Archivo:Fundamental1.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fundamental1.gif&amp;diff=72772"/>
				<updated>2024-05-26T17:14:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72753</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72753"/>
				<updated>2024-05-26T16:45:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Condiciones Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72752</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72752"/>
				<updated>2024-05-26T16:45:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Condiciones Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
En los dos casos anteriores hemos considerado condiciones frontera de tipo Dirichlet, es decir imponíamos que la solución en la frontera fuera siempre cero. Ahora vamos a poner condiciones frontera de tipo Neumann imponiendo que la derivada espacial de la solución en los extremos sea siempre cero: &amp;lt;math&amp;gt;u_x(0,t)=u_x(1,t)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para resolverlo procedemos igual que en los apartados anteriores y representamos la solución con el siguiente código.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 100 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos como ya los extremos de la cuerda no están fijos sino que suben y bajan como si viajaran por un carril. En el vídeo se ve cómo en los extremos la solución hace un pico un poco raro, lo que podría dar lugar a pensar que la derivada en los extremos es distinta de cero y que esta solución no satisface las condiciones frontera, pero este comportamiento se debe a que estamos aproximando unas integrales con el método del trapecio y solo estamos pintando 100 términos de la solución. &lt;br /&gt;
&lt;br /&gt;
 parece que la derivada de la solución en los extremos no es cero&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CuerdaEj5.gif&amp;diff=72744</id>
		<title>Archivo:CuerdaEj5.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CuerdaEj5.gif&amp;diff=72744"/>
				<updated>2024-05-26T16:32:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72743</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72743"/>
				<updated>2024-05-26T16:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Condiciones Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj5.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) cos(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) cos(k.*pi.*x).*sin(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
&lt;br /&gt;
    for k=1:100&lt;br /&gt;
        g1=u0(x)*cos(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*cos(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
    f_n(i,:) = f_n(i,:) + h*w'*u0(x)' ;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72741</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72741"/>
				<updated>2024-05-26T16:21:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Ecuación de ondas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
==Condiciones Neumann==&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72739</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72739"/>
				<updated>2024-05-26T16:20:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72734</id>
		<title>Ecuación de ondas (Raúl, Sofía, Jaime)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_(Ra%C3%BAl,_Sof%C3%ADa,_Jaime)&amp;diff=72734"/>
				<updated>2024-05-26T16:16:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jaime.saenzdemiera: /* Onda que viaja en un solo sentido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Raúl Ortega&lt;br /&gt;
&lt;br /&gt;
Sofía Gómez&lt;br /&gt;
&lt;br /&gt;
Jaime Sáenz de Miera}}&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a estudiar la ecuación de ondas mediante el estudio de del movimiento de una cuerda. Para ello, vamos a ver cómo varía la solución en función de las condiciones iniciales...&lt;br /&gt;
&lt;br /&gt;
=Ecuación de ondas=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar una cuerda vibrante en el intervalo [0,1], con densidad d y tensión &amp;lt;math&amp;gt; \tau _0&amp;lt;/math&amp;gt; constante, tal que la velocidad de propagación es: &amp;lt;math&amp;gt; c=\frac{\tau_0}{d}=1&amp;lt;/math&amp;gt;. Además, vamos a suponer que la cuerda está fija en los extremos con &amp;lt;math&amp;gt; u_0(x)&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)&amp;lt;/math&amp;gt; su posición e impulso iniciales respectivamente. Teniendo todo esto en cuenta y la ecuación de ondas, obtenemos el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0,\\&lt;br /&gt;
u(0,t)=u(1,t)=0,\\&lt;br /&gt;
u(x,0)=u_0(x),\\&lt;br /&gt;
u_t(x,0)=u_1(x).&lt;br /&gt;
\end{cases}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt;u(x)&amp;lt;/math&amp;gt; representa la posición de cada punto de la cuerda en cada momento.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
&lt;br /&gt;
Para resolver este sistema, vamos a utilizar el método de separación de variables, el cual consiste en suponer que &amp;lt;math&amp;gt; u(x,t)=T(t)X(x)&amp;lt;/math&amp;gt;, lo cual nos da lugar a resolver dos problemas por separado, uno que depende de t y otro que depende de x. Al hacer esto, obtenemos la siguiente solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) + b_k sin(k \pi x) sin(k \pi t), &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siendo &amp;lt;math&amp;gt; a_k=\frac{\int_0^1 sin(k\pi x)u_0(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; b_k=\frac{1}{k\pi}\frac{\int_0^1 sin(k\pi x)u_1(x)dx}{\int_0^1 sin^2(k \pi x)dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora, para entender mejor esta solución, vamos a tomar como datos iniciales &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=0&amp;lt;/math&amp;gt;, lo cual nos da que la solución se expresa de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty a_k sin(k\pi x) cos(k \pi t) .&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para representarla vamos a calcular las integrales necesarias para obtener los &amp;lt;math&amp;gt; a_k &amp;lt;/math&amp;gt; mediante el [https://mat.caminos.upm.es/wiki/Trapezoidal_rule_to_approximate_integrals método del trapecio] y a dibujar los primeros 50 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj3.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,2]]]&lt;br /&gt;
[[Archivo:CuerdaEj3pe.gif|400px|thumb|right|Video de la evolución de la solución en el intervalo de tiempo [0,4]]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial&lt;br /&gt;
uk=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        a_k=2*h*w'*g; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f,color='b',LineWidth=1.5)&lt;br /&gt;
    title(['t = ' num2str(t(i))]);&lt;br /&gt;
    axis([0 1 -1 1])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Vemos que los extremos de la cuerda se mantienen siempre en cero, por lo que la solución satisface las condiciones frontera en todo momento. Además la cuerda empieza dividiéndose en dos y cada parte viaja hacia un lado. Cuando estas partes llegan al final del intervalo se reflejan y cambian el sentido de su desplazamiento.&lt;br /&gt;
&lt;br /&gt;
Ahora si observamos la solución en un intervalo de tiempo más largo &amp;lt;math&amp;gt;t\in[0,4]&amp;lt;/math&amp;gt; vemos que la solución hace el mismo recorrido dos veces por lo que podemos concluir que la solución es periódica de periodo 2.&lt;br /&gt;
&lt;br /&gt;
==Onda que viaja en un solo sentido==&lt;br /&gt;
&lt;br /&gt;
En este caso tomamos como condiciones iniciales: &amp;lt;math&amp;gt;u_0(x)=e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; u_1(x)=200(x-\frac{1}{2})e^{-100(x-\frac{1}{2})^2}&amp;lt;/math&amp;gt; que es la derivada de &amp;lt;math&amp;gt;u_0(x)&amp;lt;/math&amp;gt; cambiada de signo. Al igual que en el caso anterior para representarlo vamos a realizar las integrales correspondientes para calcular los coeficientes de la solución mediante el método del trapecio y a representar los primeros 50 términos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CuerdaEj4b.gif|400px|thumb|right|Video de la evolución de la solución a lo largo del tiempo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Definimos las funciones&lt;br /&gt;
u0=@(x) exp(-100*(x-0.5).^2); %Condición inicial &lt;br /&gt;
u1=@(x) -(100-200.*x).*exp(-100*(x-0.5).^2); %Impulso inicial&lt;br /&gt;
uk_cos=@(x,t,k) sin(k.*pi.*x).*cos(k*pi.*t); %Primera parte de la solución del problema&lt;br /&gt;
uk_sen=@(x,t,k) sin(k.*pi.*x).*sin(k*pi.*t); %Segunda parte de la solución del problema&lt;br /&gt;
&lt;br /&gt;
%Aplicamos la regla del trapecio&lt;br /&gt;
a=0; b=1; %Extremos del intervalo                 &lt;br /&gt;
x=linspace(a,b,100); %Vector de espacio&lt;br /&gt;
t=linspace(a,2,100); %Vector de tiempo&lt;br /&gt;
N=length(x)-1; %Número de puntos&lt;br /&gt;
h=(b-a)/N;&lt;br /&gt;
w=ones(N+1,1); %Vector de pesos             &lt;br /&gt;
w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
f_n=zeros(length(x),length(t));&lt;br /&gt;
&lt;br /&gt;
%Suma de los 10 primeros términos en todo el vector de tiempo&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    for k=1:50&lt;br /&gt;
        g1=u0(x)*sin(k*pi*x)'; &lt;br /&gt;
        g2=-u1(x)*sin(k*pi*x)'/(k*pi);&lt;br /&gt;
        a_k=2*h*w'*g1; %Resultado de la regla del trapecio (c_k)&lt;br /&gt;
        b_k=2*h*w'*g2;&lt;br /&gt;
        f_n(i,:)= f_n(i,:)+a_k.*uk_cos(x,t(i),k)+b_k.*uk_sen(x,t(i),k);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Hacemos un video representando la solución para distintos tiempos&lt;br /&gt;
pelicula=VideoWriter(&amp;quot;cuerda&amp;quot;,'MPEG-4');&lt;br /&gt;
pelicula.FrameRate=10;&lt;br /&gt;
open(pelicula)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
    f=f_n(i,:);&lt;br /&gt;
    figura=figure(1);&lt;br /&gt;
    plot(x,f)&lt;br /&gt;
    axis([0 1 -2 2])&lt;br /&gt;
    imagen=getframe(figura);&lt;br /&gt;
    writeVideo(pelicula,imagen);&lt;br /&gt;
end&lt;br /&gt;
close(pelicula)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En este caso vemos que efectivamente la cuerda viaja en un solo sentido y sigue manteniendo los extremos fijos en cero. Además, como el intervalo en el que viaja la cuerda tiene longitud uno y lo recorre dos veces en el intervalo de tiempo &amp;lt;math&amp;gt;[0,2]&amp;lt;/math&amp;gt;, podemos deducir que la velocidad a la que viaja la curva es 1. Esto coincide con la constante &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; que hemos elegido la cual representa esta velocidad.&lt;br /&gt;
&lt;br /&gt;
También podemos ver que cuando la cuerda llega a un extremo sigue el mismo comportamiento que en el caso anterior, se refleja y cambia de sentido pero manteniendo la misma velocidad.&lt;br /&gt;
&lt;br /&gt;
=Solución fundamental=&lt;/div&gt;</summary>
		<author><name>Jaime.saenzdemiera</name></author>	</entry>

	</feed>