<?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=Otelo</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=Otelo"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Otelo"/>
		<updated>2026-04-30T00:56:36Z</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._Otelo,_Yan_y_Mika&amp;diff=73213</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73213"/>
				<updated>2024-05-27T21:53:29Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Representaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
En el dibujo se muestra una onda que viaja en un solo sentido. Para hallar su velocidad, hacemos otro dibujo en función del espacio de las ondas para diferentes tiempos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Velocity2.png|600px|thumb|center|Ondas según el espacio para diferentes tiempos]]&lt;br /&gt;
&lt;br /&gt;
La diferencia espacial entre los máximos de las ondas es justo la diferencia temporal de los dibujos. Por tanto, deducimos que la velocidad de propagación de la onda es de &amp;lt;math&amp;gt;  1 m/s&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución fundamental &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica observamos que a medida que aumenta el tiempo, la función escalón va siendo positiva en un tramo cada vez más ancho.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;, la solución fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:712ot.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica de &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt; apreciamos que a medida que aumenta el tiempo, los puntos de la malla que van tomando valores positivos son aquellos que se encuentran lejos del origen,es decir, la onda se aleja radialmente del origen y los puntos interiores de la circunferencia de radio &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt; pasan a tomar el valor nulo.&lt;br /&gt;
&lt;br /&gt;
Por último, en dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:713ot.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Aunque no se aprecia en la gráfica, la diagonal sigue tomando valores positivos pequeños. Esto quiere decir que la onda comienza tomando un valor muy grande en el origen y casi al instante disminuye hasta un valor mucho más pequeño en el que se mantiene a medida que aumenta el radio.&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73100</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73100"/>
				<updated>2024-05-27T18:19:04Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Otros datos iniciales más particulares para el sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
En el dibujo se muestra una onda que viaja en un solo sentido. Para hallar su velocidad, hacemos otro dibujo en función del espacio de las ondas para diferentes tiempos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Velocity2.png|600px|thumb|center|Ondas según el espacio para diferentes tiempos]]&lt;br /&gt;
&lt;br /&gt;
La diferencia espacial entre los máximos de las ondas es justo la diferencia temporal de los dibujos. Por tanto, deducimos que la velocidad de propagación de la onda es de &amp;lt;math&amp;gt;  1 m/s&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución fundamental &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica observamos que a medida que aumenta el tiempo, la función escalón va siendo positiva en un tramo cada vez más ancho.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;, la solución fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica de &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt; apreciamos que a medida que aumenta el tiempo, los puntos de la malla que van tomando valores positivos son aquellos que se encuentran lejos del origen,es decir, la onda se aleja radialmente del origen y los puntos interiores de la circunferencia de radio &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt; pasan a tomar el valor nulo.&lt;br /&gt;
&lt;br /&gt;
Por último, en dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Aunque no se aprecia en la gráfica, la diagonal sigue tomando valores positivos pequeños. Esto quiere decir que la onda comienza tomando un valor muy grande en el origen y casi al instante disminuye hasta un valor mucho más pequeño en el que se mantiene a medida que aumenta el radio.&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

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

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73096</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73096"/>
				<updated>2024-05-27T18:16:58Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Otros datos iniciales más particulares para el sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
En el dibujo se muestra una onda que viaja en un solo sentido. Para hallar su velocidad, hacemos otro dibujo en función del espacio de las ondas para diferentes tiempos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Velocity.png|600px|thumb|center|Ondas según el espacio para diferentes tiempos]]&lt;br /&gt;
&lt;br /&gt;
La diferencia espacial entre los máximos de las ondas es justo la diferencia temporal de los dibujos. Por tanto, deducimos que la velocidad de propagación de la onda es de &amp;lt;math&amp;gt;  1 m/s&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución fundamental &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica observamos que a medida que aumenta el tiempo, la función escalón va siendo positiva en un tramo cada vez más ancho.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;, la solución fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica de &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt; apreciamos que a medida que aumenta el tiempo, los puntos de la malla que van tomando valores positivos son aquellos que se encuentran lejos del origen,es decir, la onda se aleja radialmente del origen y los puntos interiores de la circunferencia de radio &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt; pasan a tomar el valor nulo.&lt;br /&gt;
&lt;br /&gt;
Por último, en dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Aunque no se aprecia en la gráfica, la diagonal sigue tomando valores positivos pequeños. Esto quiere decir que la onda comienza tomando un valor muy grande en el origen y casi al instante disminuye hasta un valor mucho más pequeño en el que se mantiene a medida que aumenta el radio.&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

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

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73078</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73078"/>
				<updated>2024-05-27T17:51:19Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Representaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución fundamental &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica observamos que a medida que aumenta el tiempo, la función escalón va siendo positiva en un tramo cada vez más ancho.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;, la solución fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica de &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt; apreciamos que a medida que aumenta el tiempo, los puntos de la malla que van tomando valores positivos son aquellos que se encuentran lejos del origen,es decir, la onda se aleja radialmente del origen y los puntos interiores de la circunferencia de radio &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt; pasan a tomar el valor nulo.&lt;br /&gt;
&lt;br /&gt;
Por último, en dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Aunque no se aprecia en la gráfica, la diagonal sigue tomando valores positivos pequeños. Esto quiere decir que la onda comienza tomando un valor muy grande en el origen y casi al instante disminuye hasta un valor mucho más pequeño en el que se mantiene a medida que aumenta el radio.&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73055</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73055"/>
				<updated>2024-05-27T16:44:23Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Representaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución fundamental &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica observamos que a medida que aumenta el tiempo, la función escalón va siendo positiva en un tramo cada vez más ancho.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;, la solución fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
En la gráfica de &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt; apreciamos que a medida que aumenta el tiempo, los puntos de la malla que van tomando valores positivos son aquellos que se encuentran lejos del origen,es decir, la onda se aleja radialmente del origen y los puntos interiores de la circunferencia de radio &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt; pasan a tomar el valor nulo.&lt;br /&gt;
&lt;br /&gt;
Por último, en dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73054</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73054"/>
				<updated>2024-05-27T16:37:04Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Representaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución fundamental &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución fundamental &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73053</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73053"/>
				<updated>2024-05-27T16:24:03Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Otros datos iniciales más particulares para el sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73052</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73052"/>
				<updated>2024-05-27T16:23:30Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Diferencia con la condición Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta solución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:713ot.png&amp;diff=73051</id>
		<title>Archivo:713ot.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:713ot.png&amp;diff=73051"/>
				<updated>2024-05-27T16:14:47Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:712ot.png&amp;diff=73050</id>
		<title>Archivo:712ot.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:712ot.png&amp;diff=73050"/>
				<updated>2024-05-27T16:14:34Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73049</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73049"/>
				<updated>2024-05-27T16:14:20Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Representaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('|x|');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73048</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73048"/>
				<updated>2024-05-27T15:22:29Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Solución del problema en dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73047</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73047"/>
				<updated>2024-05-27T15:21:59Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Solución del problema en dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt; \epsilon &amp;lt;\math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt;t = 0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73046</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73046"/>
				<updated>2024-05-27T15:21:24Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Solución del problema en dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt;\epsilon&amp;lt;\math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73045</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73045"/>
				<updated>2024-05-27T15:16:31Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*sin(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*sin(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio64.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo (hasta 10 segundos para verlo repetido varias veces):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt;epsilon&amp;lt;\math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73044</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73044"/>
				<updated>2024-05-27T15:10:46Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Dibujo de la solución dadas las condiciones iniciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Ondas según el tiempo]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.Además, para evitar la singularidad de la solución fundamental volveremos a tomar el &amp;lt;math&amp;gt;epsilon&amp;lt;\math&amp;gt; en denominador.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución son constantemente cero a partir de distintos puntos. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución que tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2. Excepto cuando t es igual a cero que la convolución es igual a cero ya que el integrando es igual a cero. También, cabe destacar que el pico de la solución se alcanza cuando el radio es igual a ct, pues la solución fundamental toma el mayor valor posible cuando el denominador es lo menor posible, o sea, en los puntos de radio ct.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73041</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73041"/>
				<updated>2024-05-27T15:10:01Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Diferencia con la condición Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda con condiciones Neumann]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución es constantemente cero. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73038</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73038"/>
				<updated>2024-05-27T14:56:26Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100);&lt;br /&gt;
evaluacionesvideo = zeros(1000,100);&lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%f y f'&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2);&lt;br /&gt;
cond2 =@(y) (200.*y-100).*exp(-100.*(y-1/2).^2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*cos(k.*pi.*u))'; &lt;br /&gt;
    g=(cond2(u).*cos(k.*pi.*u))';&lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    n=h*w'*g;&lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    coef2 = 2*n;&lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:100&lt;br /&gt;
        for i = 1:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + (coef.*cos(k*pi*t(i)) + coef2/(k*pi).*sin(k*pi*t(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 1:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + (coef.*cos(k*pi*tp(i)) + coef2/(k*pi).*sin(k*pi*tp(i))).*cos(k.*pi.*(x(j))); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio65.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución es constantemente cero. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73037</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73037"/>
				<updated>2024-05-27T14:54:32Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Código */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
%Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
%espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
%solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
%calculada&lt;br /&gt;
&lt;br /&gt;
%creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(100,100); &lt;br /&gt;
evaluacionesvideo = zeros(1000,100); &lt;br /&gt;
%quedan impuestas los condiciones frontera por ser una matriz de ceros ya&lt;br /&gt;
% que posteriormente no modificamos ni la primera ni la última columna&lt;br /&gt;
&lt;br /&gt;
%limite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
%funcion de la condicion inicial&lt;br /&gt;
cond =@(y) exp(-100.*(y-1/2).^2); &lt;br /&gt;
&lt;br /&gt;
%imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond(x)';&lt;br /&gt;
evaluacionesvideo(1,:) = cond(x)';&lt;br /&gt;
&lt;br /&gt;
%en el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
%Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:50 &lt;br /&gt;
    %puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    %extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    %partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    %f es la funcion que queremos integrar&lt;br /&gt;
    f=(cond(u).*sin(k.*pi.*u))'; &lt;br /&gt;
    %vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    %m es el valor de la integral&lt;br /&gt;
    m=h*w'*f; &lt;br /&gt;
    %calculo final de los coeficientes del seno &lt;br /&gt;
    coef = 2*m;   &lt;br /&gt;
    %sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =2:99&lt;br /&gt;
        for i = 2:100&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*t(i)); &lt;br /&gt;
        end&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluacionesvideo(i,j) = evaluacionesvideo(i,j) + coef.*sin(k.*pi.*(x(j))).*cos(k*pi*tp(i)); &lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%plot en 3D&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(t,x,evaluaciones2') &lt;br /&gt;
xlabel('t')&lt;br /&gt;
ylabel('x')&lt;br /&gt;
zlabel('u(x,t)')&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio63.gif';&lt;br /&gt;
 &lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(2);&lt;br /&gt;
    plot(x,evaluacionesvideo(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
     &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
     &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución es constantemente cero. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

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

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

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73033</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=73033"/>
				<updated>2024-05-27T14:52:52Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Dibujo de la solución dadas las condiciones iniciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Veamos en un GIF cómo se comporta la onda en función del tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio63.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aprovecharemos que la solución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:FundamemtalConv.jpg|600px|thumb|center|Solución a partir de la convolución]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
t = [0;0.5;1;2];                 % Vector de tiempos donde evaluamos la solución&lt;br /&gt;
x = linspace(0,3,100);          % Vector de discretización del espacio&lt;br /&gt;
sols = zeros(length(t),length(x));    % Matriz de valores de la solución en la discretización en los diferentes tiempos&lt;br /&gt;
&lt;br /&gt;
% Cálculo de valores de la solución y representación gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
for j=1:length(t)   &lt;br /&gt;
    for i = 1:length(x)&lt;br /&gt;
        sols(j,i) = g(x(i),t(j));&lt;br /&gt;
    end&lt;br /&gt;
    subplot(2,2,j)&lt;br /&gt;
    plot(x,sols(j,:))&lt;br /&gt;
    title(&amp;quot;Solución para t =&amp;quot; + num2str(t(j)))&lt;br /&gt;
    xlabel('x1')&lt;br /&gt;
    ylabel('u((x1,0),t)')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Función que devuelve los valores de la solución por convolución&lt;br /&gt;
function valor = g(x,t)&lt;br /&gt;
    % Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
    c = 1;&lt;br /&gt;
    chi_B = @(y) double(abs(y) &amp;lt;= c .* t); % Función característica en la bola de centro 0 y radio ct&lt;br /&gt;
    chi = @(y) double(abs(y) &amp;lt;= 1/2); % Función característica en la bola de centro 0 y radio 1/2&lt;br /&gt;
    % Definir la función K2(x,t)&lt;br /&gt;
    K2 = @(y) (1 ./ (0.01 + 2 .* pi .* c .* sqrt(c.^2 * t.^2 - (y.^2)))) .* chi_B(y);  &lt;br /&gt;
    valor = integral( @(y) (K2(x-y).*(chi(y))) ,0,1/2);  % Valor de la integral&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nótese que la representación gráfica es en 2D puesto que al ser la solución radial hemos representado los puntos de la forma (x1,0) por lo que tanto la segunda coordenada como el tiempo están fijados. Además, podemos observar que dependiendo del tiempo, los valores de la solución es constantemente cero. Esta dependencia se debe a las funciones características, pues la característica de la solución fundamental tiene un radio que depende del tiempo a diferencia de la característica de la convolución tiene radio fijo igual a 1/2. En definitiva, la solución será constantemente igual a cero fuera de la bola de radio ct+1/2.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72994</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72994"/>
				<updated>2024-05-27T14:01:59Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Otros datos iniciales más particulares para el sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Y además hemos creado un GIF para visualizar la onda respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''SOLUCIÓN RADIAL EN X'''&lt;br /&gt;
Aprovecharemos que la slución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
====Código====&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72992</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72992"/>
				<updated>2024-05-27T13:50:38Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Código */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el video anterior se puede observar como tarda una unidad de tiempo en recorrer una unidad de espacio ya que el pico de la onda en t = 0 empieza en x = 0.5 y vuelve a x = 0.5 en t = 1. Sin embargo, una vez alcanzada la frontera de x = 1, la onda cambia de signo y de sentido. Este hecho vuelve a ocurrir cuando alcanza la próxima frontera x = 0, donde vuelve a tomar el signo positivo y el sentido inicial. Esto se repite cada vez que alcanza una frontera. Además, se puede observar que en t = 2, la onda vuelve a ser igual a la inicial, comprobando así que el periodo T es igual a 2.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''SOLUCIÓN RADIAL EN X'''&lt;br /&gt;
Aprovecharemos que la slución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
====Código====&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72991</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72991"/>
				<updated>2024-05-27T13:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Solución del problema en dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el video anterior se puede observar como tarda una unidad de tiempo en recorrer una unidad de espacio ya que el pico de la onda en t = 0 empieza en x = 0.5 y vuelve a x = 0.5 en t = 1. Sin embargo, una vez alcanzada la frontera de x = 1, la onda cambia de signo y de sentido. Este hecho vuelve a ocurrir cuando alcanza la próxima frontera x = 0, donde vuelve a tomar el signo positivo y el sentido inicial. Esto se repite cada vez que alcanza una frontera. Además, se puede observar que en t = 2, la onda vuelve a ser igual a la inicial, comprobando así que el periodo T es igual a 2.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''SOLUCIÓN RADIAL EN X'''&lt;br /&gt;
Aprovecharemos que la slución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72990</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72990"/>
				<updated>2024-05-27T13:48:41Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Solución del problema en dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el video anterior se puede observar como tarda una unidad de tiempo en recorrer una unidad de espacio ya que el pico de la onda en t = 0 empieza en x = 0.5 y vuelve a x = 0.5 en t = 1. Sin embargo, una vez alcanzada la frontera de x = 1, la onda cambia de signo y de sentido. Este hecho vuelve a ocurrir cuando alcanza la próxima frontera x = 0, donde vuelve a tomar el signo positivo y el sentido inicial. Esto se repite cada vez que alcanza una frontera. Además, se puede observar que en t = 2, la onda vuelve a ser igual a la inicial, comprobando así que el periodo T es igual a 2.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''SOLUCIÓN RADIAL EN X'''&lt;br /&gt;
Aprovecharemos que la slución es radial para calcularla sólo en los puntos de la forma &amp;lt;math&amp;gt;(x_1,0)&amp;lt;/math&amp;gt; con &amp;lt;math&amp;gt;x_1 &amp;gt; 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran los dibujos de las soluciones para &amp;lt;math&amp;gt; t =0, 0.5, 1, 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;====&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
====&amp;lt;math&amp;gt;t=0.5&amp;lt;/math&amp;gt;====&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
====&amp;lt;math&amp;gt;t=1&amp;lt;/math&amp;gt;====&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
====&amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt;====&lt;br /&gt;
'''DIBUJO'''&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72988</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72988"/>
				<updated>2024-05-27T13:41:39Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Dibujo de la solución dadas las condiciones iniciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Observamos que en &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt; la onda se divide en dos, que viajan hacia cada uno de los extremos espaciales. Cuando llegan a los extremos, cambian de signo y de sentido para volver a &amp;lt;math&amp;gt; x=0.5&amp;lt;/math&amp;gt; y cuando se reencuentran mantienen el signo para repetir el recorrido, pero esta vez, cuando llegan a los extremos vuelven a hacerse positivas y en &amp;lt;math&amp;gt;t=2&amp;lt;/math&amp;gt; se vuelve al estado inicial. Por ello, la solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el video anterior se puede observar como tarda una unidad de tiempo en recorrer una unidad de espacio ya que el pico de la onda en t = 0 empieza en x = 0.5 y vuelve a x = 0.5 en t = 1. Sin embargo, una vez alcanzada la frontera de x = 1, la onda cambia de signo y de sentido. Este hecho vuelve a ocurrir cuando alcanza la próxima frontera x = 0, donde vuelve a tomar el signo positivo y el sentido inicial. Esto se repite cada vez que alcanza una frontera. Además, se puede observar que en t = 2, la onda vuelve a ser igual a la inicial, comprobando así que el periodo T es igual a 2.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72987</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72987"/>
				<updated>2024-05-27T13:33:26Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Solución del problema en dimensión 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el video anterior se puede observar como tarda una unidad de tiempo en recorrer una unidad de espacio ya que el pico de la onda en t = 0 empieza en x = 0.5 y vuelve a x = 0.5 en t = 1. Sin embargo, una vez alcanzada la frontera de x = 1, la onda cambia de signo y de sentido. Este hecho vuelve a ocurrir cuando alcanza la próxima frontera x = 0, donde vuelve a tomar el signo positivo y el sentido inicial. Esto se repite cada vez que alcanza una frontera. Además, se puede observar que en t = 2, la onda vuelve a ser igual a la inicial, comprobando así que el periodo T es igual a 2.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &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; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72986</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72986"/>
				<updated>2024-05-27T13:33:03Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
[[Archivo:Ejercicio41.gif|400px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Resumen: la idea del programa es crear una matriz de pares (tiempo,&lt;br /&gt;
% espacio) y en cada uno de esos puntos calcular la aproximación de la&lt;br /&gt;
% solución mediante un bucle for que realiza la suma de términos de la serie&lt;br /&gt;
% calculada&lt;br /&gt;
&lt;br /&gt;
% Creamos la malla en  la que introduciremos las evaluaciones &lt;br /&gt;
evaluaciones2 = zeros(1000,100); &lt;br /&gt;
&lt;br /&gt;
% Límite temporal y vectores de tiempos y espacios&lt;br /&gt;
T = 2;&lt;br /&gt;
t = linspace(0,T,100); &lt;br /&gt;
x = linspace(0,1,100); &lt;br /&gt;
tp = linspace(0,10,1000);&lt;br /&gt;
&lt;br /&gt;
% Función de la condicion inicial&lt;br /&gt;
cond0 =@(y) exp(-100*((y-(1/2)).^2)); &lt;br /&gt;
cond1 = @(y) 200.*(y-(1/2)).*exp(-100*((y-(1/2)).^2));&lt;br /&gt;
&lt;br /&gt;
% Imponemos la condicion inicial &lt;br /&gt;
evaluaciones2(1,:) = cond0(x)';&lt;br /&gt;
&lt;br /&gt;
% En el siguiente bucle for, para cada k calculamos el coeficiente de&lt;br /&gt;
% Fourier y sumamos  el correspondiente término de la serie en cada punto de&lt;br /&gt;
% la malla. Para el cálculo de la integral que nos da el coeficiente de&lt;br /&gt;
% Fourier usamos la regla del trapecio con 1000 puntos en [0,1]&lt;br /&gt;
for k=1:100 &lt;br /&gt;
    % Puntos&lt;br /&gt;
    N=1000;  &lt;br /&gt;
    % Extremos del intervalo&lt;br /&gt;
    a=0; b=1;            &lt;br /&gt;
    h=(b-a)/N; &lt;br /&gt;
    % Partición del intervalo&lt;br /&gt;
    u=a:h:b;           &lt;br /&gt;
    % f es la funcion que queremos integrar&lt;br /&gt;
    f0 = (cond0(u).*sin(k.*pi.*u))';&lt;br /&gt;
    f1 = (cond1(u).*sin(k.*pi.*u))';&lt;br /&gt;
    % Vector de pesos&lt;br /&gt;
    w=ones(N+1,1);                 &lt;br /&gt;
    w(1)=1/2; w(N+1)=1/2;&lt;br /&gt;
    % m es el valor de la integral&lt;br /&gt;
    m0 = h*w'*f0; &lt;br /&gt;
    m1 = h*w'*f1;&lt;br /&gt;
    % Calculo final de los coeficientes del seno &lt;br /&gt;
    coef0 = 2*m0;&lt;br /&gt;
    coef1 = 2*m1;&lt;br /&gt;
    % Sumamos los 100 primeros términos de la serie en cada punto de la&lt;br /&gt;
    % malla con los nuevos coeficientes&lt;br /&gt;
    for j =1:99&lt;br /&gt;
        for i = 2:1000&lt;br /&gt;
                evaluaciones2(i,j) = evaluaciones2(i,j) + coef0.*sin(k.*pi.*(x(j))).*cos(k.*pi.*(tp(i))) + ...&lt;br /&gt;
                (1/(k*pi)).*coef1.*sin(k.*pi.*(x(j))).*sin(k.*pi.*(tp(i)));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y guardarla como GIF&lt;br /&gt;
% Nombre del archivo GIF&lt;br /&gt;
filename = 'Ejercicio4.gif';&lt;br /&gt;
&lt;br /&gt;
% Configuración de la animación&lt;br /&gt;
fps = 5; % Fotogramas por segundo&lt;br /&gt;
delayTime = 1 / fps; % Tiempo de retraso entre fotogramas&lt;br /&gt;
&lt;br /&gt;
for i = 1:10:1000 % Reducir el número de fotogramas&lt;br /&gt;
    figure(1);&lt;br /&gt;
    plot(x,evaluaciones2(i,:))&lt;br /&gt;
    axis([0 1 -1.2 1.2])&lt;br /&gt;
    xlabel(&amp;quot;Espacio&amp;quot;)&lt;br /&gt;
    ylabel(&amp;quot;u(x,t)&amp;quot;)&lt;br /&gt;
    title(&amp;quot;t = &amp;quot; + mat2str(tp(i)))&lt;br /&gt;
    &lt;br /&gt;
    % Guardar cada frame como imagen en formato GIF&lt;br /&gt;
    frame = getframe(gcf);&lt;br /&gt;
    im = frame2im(frame);&lt;br /&gt;
    [imind,cm] = rgb2ind(im,64); % Reducir el número de colores&lt;br /&gt;
    &lt;br /&gt;
    % Escribir en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', delayTime);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind,cm,filename,'gif','WriteMode','append', 'DelayTime', delayTime);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el video anterior se puede observar como tarda una unidad de tiempo en recorrer una unidad de espacio ya que el pico de la onda en t = 0 empieza en x = 0.5 y vuelve a x = 0.5 en t = 1. Sin embargo, una vez alcanzada la frontera de x = 1, la onda cambia de signo y de sentido. Este hecho vuelve a ocurrir cuando alcanza la próxima frontera x = 0, donde vuelve a tomar el signo positivo y el sentido inicial. Esto se repite cada vez que alcanza una frontera. Además, se puede observar que en t = 2, la onda vuelve a ser igual a la inicial, comprobando así que el periodo T es igual a 2.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Solución del problema en dimensión 2 ===&lt;br /&gt;
&lt;br /&gt;
La solución del problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^2, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)= h(x) =  \chi_{B(0,1/2)}(x)\hspace{6mm} x\in \mathbb{R}^2 . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viene dada por la convolución:&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \int_{\mathbb{R}^2} K_2(x-y,t)h(y) dy&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72901</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72901"/>
				<updated>2024-05-27T10:08:01Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Representaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
[[Archivo:Ejercicio4.gif|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales porque la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72889</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72889"/>
				<updated>2024-05-27T09:58:05Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{32mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72888</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72888"/>
				<updated>2024-05-27T09:57:55Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{33mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72887</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72887"/>
				<updated>2024-05-27T09:57:45Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{30mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72886</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72886"/>
				<updated>2024-05-27T09:57:35Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{20mm} x\in \mathbb{R}^n, t &amp;gt;0\\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72884</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72884"/>
				<updated>2024-05-27T09:57:07Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hspace{8mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72882</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72882"/>
				<updated>2024-05-27T09:56:57Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} \hsapce{8mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72879</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72879"/>
				<updated>2024-05-27T09:52:11Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Diferencia con la condición Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
En este caso, la velocidad de la onda es la misma y el desplazamiento ocurre en el mismo sentido y dirección. Lo único que cambia es que cuando la onda llega a los extremos del intervalo espacial, en vez de cambiar de signo, aumenta hasta el máximo y regresa al mismo valor con el cambio de dirección. Esto hace que en los extremos se cumpla la condición Neumann que hemos impuesto.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72873</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72873"/>
				<updated>2024-05-27T09:35:12Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Otros datos iniciales más particulares para el sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
Todo esto se ve mejor observando la onda desde otro ángulo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot2.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:64ot2.png&amp;diff=72870</id>
		<title>Archivo:64ot2.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:64ot2.png&amp;diff=72870"/>
				<updated>2024-05-27T09:34:30Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72869</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72869"/>
				<updated>2024-05-27T09:33:29Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Otros datos iniciales más particulares para el sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido con longitud de onda &amp;lt;math&amp;gt;\lambda = 2 &amp;lt;/math&amp;gt; metros. Por tanto la velocidad es &amp;lt;math&amp;gt;c = \frac{\lambda}{T} =  \frac{2}{2} = 1 m/s &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La onda parte de &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;m y se dirige hacia &amp;lt;math&amp;gt;x=1 &amp;lt;/math&amp;gt;. En &amp;lt;math&amp;gt;t = 0.5 &amp;lt;/math&amp;gt;s llega a esa frontera y allí cambia de signo y de dirección, para dirigirse hacia el extremo &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, que tarda en alcanzar &amp;lt;math&amp;gt;1 &amp;lt;/math&amp;gt;s. Por último, cuando llega a este extremo, pasa de nuevo a tomar valores positivos y toma la dirección inicial para volver a la posición de partida &amp;lt;math&amp;gt;x = 0.5 &amp;lt;/math&amp;gt;. De nuevo probando. que el periodo es de &amp;lt;math&amp;gt;2 &amp;lt;/math&amp;gt; segundos.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72866</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72866"/>
				<updated>2024-05-27T08:58:29Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Otros datos iniciales más particulares para el sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que claramente en el dibujo se muestra una onda que viaja en un solo sentido.&lt;br /&gt;
&lt;br /&gt;
'''COMPROBAR QUE EL PERFIL DE LA SOLUCIÓN VIAJA CON VELOCIDAD C=1 Y OBSERVAR QUÉ OCURRE EN LA FRONTERA'''&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72865</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72865"/>
				<updated>2024-05-27T08:39:34Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Dibujo de la solución dadas las condiciones iniciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
Esto también se puede apreciar si repetimos el dibujo en el intervalo temporal &amp;lt;math&amp;gt; [0,4] &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot4.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
'''COMPROBAR QUE EL PERFIL DE LA SOLUCIÓN VIAJA CON VELOCIDAD C=1 Y OBSERVAR QUÉ OCURRE EN LA FRONTERA'''&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:63ot4.png&amp;diff=72864</id>
		<title>Archivo:63ot4.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:63ot4.png&amp;diff=72864"/>
				<updated>2024-05-27T08:38:37Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72855</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72855"/>
				<updated>2024-05-26T22:15:27Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
=== Planteamiento del problema  ===&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dibujo de la solución dadas las condiciones iniciales  ===&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Otros datos iniciales más particulares para el sistema ===&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
'''COMPROBAR QUE EL PERFIL DE LA SOLUCIÓN VIAJA CON VELOCIDAD C=1 Y OBSERVAR QUÉ OCURRE EN LA FRONTERA'''&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
===  Diferencia con la condición Neumann ===&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
==== Código ====&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72852</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72852"/>
				<updated>2024-05-26T22:06:00Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
====  Planteamiento del problema  ====&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Dibujo de la solución dadas las condiciones iniciales  ====&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
&lt;br /&gt;
====  Otros datos iniciales más particulares para el sistema ====&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
'''COMPROBAR QUE EL PERFIL DE LA SOLUCIÓN VIAJA CON VELOCIDAD C=1 Y OBSERVAR QUÉ OCURRE EN LA FRONTERA'''&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
&lt;br /&gt;
====  Diferencia con la condición Neumann ====&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72851</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72851"/>
				<updated>2024-05-26T22:03:48Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Diferencia con la condición Neumann */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
====  Planteamiento del problema  ====&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Dibujo de la solución dadas las condiciones iniciales  ====&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
====  Otros datos iniciales más particulares para el sistema ====&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
'''COMPROBAR QUE EL PERFIL DE LA SOLUCIÓN VIAJA CON VELOCIDAD C=1 Y OBSERVAR QUÉ OCURRE EN LA FRONTERA'''&lt;br /&gt;
&lt;br /&gt;
====  Diferencia con la condición Neumann ====&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso, la gráfica de la solución queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:65ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72850</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72850"/>
				<updated>2024-05-26T22:02:40Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Ecuación de ondas I */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
====  Planteamiento del problema  ====&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Dibujo de la solución dadas las condiciones iniciales  ====&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
====  Otros datos iniciales más particulares para el sistema ====&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:64ot.png|600px|thumb|center|Onda que viaja en un solo sentido]]&lt;br /&gt;
&lt;br /&gt;
'''COMPROBAR QUE EL PERFIL DE LA SOLUCIÓN VIAJA CON VELOCIDAD C=1 Y OBSERVAR QUÉ OCURRE EN LA FRONTERA'''&lt;br /&gt;
&lt;br /&gt;
====  Diferencia con la condición Neumann ====&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72849</id>
		<title>Ecuación de ondas. Otelo, Yan y Mika</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Otelo,_Yan_y_Mika&amp;diff=72849"/>
				<updated>2024-05-26T22:00:43Z</updated>
		
		<summary type="html">&lt;p&gt;Otelo: /* Dibujo de la solución dadas las condiciones iniciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoEDP | Ecuación de Ondas Grupo 9 | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP23/24|2023-24]] | Miguel Cazorla Pedraza &lt;br /&gt;
Otelo Gallego Ayala Yan Wang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas I  ==&lt;br /&gt;
&lt;br /&gt;
La idea principal de este artículo será dibujar diferentes soluciones de la ecuación&lt;br /&gt;
de ondas en una dimensión. Para ello, nos basaremos en el enunciado descrito a continuación.&lt;br /&gt;
&lt;br /&gt;
====  Planteamiento del problema  ====&lt;br /&gt;
&lt;br /&gt;
Se considera una cuerda vibrante que ocupa el intervalo &amp;lt;math&amp;gt; [0, 1] &amp;lt;/math&amp;gt; con densidad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; y tensión&lt;br /&gt;
&amp;lt;math&amp;gt; \tau_0 &amp;lt;/math&amp;gt; constante de manera que la velocidad de propagación es &amp;lt;math&amp;gt; c = \tau_0/d = 1 &amp;lt;/math&amp;gt; . Supondremos además que la&lt;br /&gt;
cuerda está fija en los extremos. Llamaremos &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.&lt;br /&gt;
&lt;br /&gt;
Lo primero que haremos, será escribir el sistema de EDPS que modeliza el comportamiento de los desplazamiento transversales de la cuerda. Esto es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u(0,t)=u(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=u_1(x) \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuya solución encontrada gracias al método de separación de las variables, el principio de superposición y las condiciones iniciales es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}\cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \sin(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \sin(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Dibujo de la solución dadas las condiciones iniciales  ====&lt;br /&gt;
Considerando  &amp;lt;math&amp;gt; u_0(x,t)= e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = 0&amp;lt;/math&amp;gt;, entonces la solución tomando los primeros  &amp;lt;math&amp;gt;50 &amp;lt;/math&amp;gt; términos de la serie es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^{50} 2 \left[\int_0^1 u_0(x) \sin(k\pi x) dx\right]cos(k\pi t) \sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el dibujo de la solución en el intervalo de tiempo  &amp;lt;math&amp;gt; [0,2] &amp;lt;/math&amp;gt;  queda así:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:63ot.png|600px|thumb|center|Solución ecuación de ondas]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que solución para estas condiciones iniciales es periódica en el tiempo con periodo &amp;lt;math&amp;gt; T = 2 &amp;lt;/math&amp;gt; ya que en la gráfica se repite el patrón inicial.&lt;br /&gt;
&lt;br /&gt;
====  Otros datos iniciales más particulares para el sistema ====&lt;br /&gt;
Ahora, consideraremos los datos iniciales correspondientes a una onda que viaja en un sólo sentido &amp;lt;math&amp;gt;\left(u(x,t) = f(x-t)\right) &amp;lt;/math&amp;gt;. Para ello, tomamos: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = f(x), \hspace{3mm} u_1(x) = -f'(x) \hspace{2mm} con \hspace{2mm} f(x) = e^{-100(x-1/2)^2} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es decir, la misma &amp;lt;math&amp;gt;u_0 &amp;lt;/math&amp;gt; que antes pero esta vez tomamos como &amp;lt;math&amp;gt;u_1 &amp;lt;/math&amp;gt; su derivada respecto el espacio cambiada de signo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_0(x) = e^{-100(x-1/2)^2}, \hspace{3mm} u_1(x) = (200x-100)e^{-100(x-1/2)^2} \hspace{2mm}  &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u(x,t)=\sum_{k=1}^\infty \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]\sin(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''COMPROBAR QUE EL PERFIL DE LA SOLUCIÓN VIAJA CON VELOCIDAD C=1 Y OBSERVAR QUÉ OCURRE EN LA FRONTERA'''&lt;br /&gt;
&lt;br /&gt;
====  Diferencia con la condición Neumann ====&lt;br /&gt;
Por último, veremos qué ocurre si repetimos lo anterior cambiando las condiciones Dirichlet por Neumann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_x(0,t) = u_x(1,t) = 0 &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con ello, el sistema pasa a ser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-u_{xx}=0, \hspace{6mm} t&amp;gt; 0, x\in [0,1], \\&lt;br /&gt;
      u_x(0,t)=u_x(1,t)=0, \hspace{6mm} t&amp;gt;0, \\&lt;br /&gt;
      u(x,0)=e^{-100(x-1/2)^2}, \hspace{3mm} u_t(x,0)=(200x-100)e^{-100(x-1/2)^2} \hspace{6mm} x\in [0,1]. \\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos de nuevo separación de las variables y el principio de superposición peor debido al cambio en las condiciones obtenemos esta 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 \left[\frac{1}{k\pi}u_{1,k}\sin(k\pi t)+u_{0,k}cos(k\pi t)\right]cos(k\pi x) &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde, ahora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{1,k} = 2 \int_0^1 u_1(x) \cos(k\pi x) dx &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; u_{0,k} = 2 \int_0^1 u_0(x) \cos(k\pi x) dx&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Ecuación de ondas II  ==&lt;br /&gt;
&lt;br /&gt;
En este apartado dibujaremos la solución fundamental de la ecuación de ondas en dimensiones 1, 2 y 3, lo que nos servirá para interpretar el principio de Huygens.&lt;br /&gt;
&lt;br /&gt;
La solución fundamental es la solución que se obtiene al dar un impulso inicial muy localizado en &amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;. Matemáticamente resuelve el sistema &lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
      u_{tt}-c^2\Delta u=0, \hspace{6mm} t&amp;gt; 0, x\in \mathbb{R}^n, \\&lt;br /&gt;
     &lt;br /&gt;
      u(x,0)=u_0(x), \hspace{3mm} u_t(x,0)=\delta (x) \hspace{6mm} x\in \mathbb{R}^n . \\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right. &amp;lt;/math&amp;gt; &amp;lt;/center&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. Formalmente, se define como el siguiente límite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta (x) = \lim_{r\to 0} \frac{1}{|B(0,r)|}\chi_{B(0,r)}(x) \sim  \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
\infty \hspace{4mm} x=0,\\&lt;br /&gt;
     &lt;br /&gt;
0 \hspace{4mm} x\neq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.   &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; \chi_{B(0,r)}(x) &amp;lt;/math&amp;gt; es la función característica de la bola centrada en  &amp;lt;math&amp;gt; 0 &amp;lt;/math&amp;gt; de radio &amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt; |B(0,r)| &amp;lt;/math&amp;gt; es el volumen de la bola.&lt;br /&gt;
&lt;br /&gt;
Su expresión es:&lt;br /&gt;
&lt;br /&gt;
1.   En dimensión &amp;lt;math&amp;gt; n=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_1(x,t)=\frac{1}{2c}[H(x+ct)-H(x-ct)], &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;lt;math&amp;gt; H(s)= \left\{&lt;br /&gt;
	       \begin{array}{ll}&lt;br /&gt;
&lt;br /&gt;
0 \hspace{4mm} si \hspace{2mm}s&amp;lt;0,\\&lt;br /&gt;
     &lt;br /&gt;
1 \hspace{4mm} si \hspace{2mm} s\geq 0,\\&lt;br /&gt;
		 &lt;br /&gt;
	       \end{array}&lt;br /&gt;
        \right.&amp;lt;/math&amp;gt; es la función de Heaviside. &lt;br /&gt;
&lt;br /&gt;
2.   En dimensión &amp;lt;math&amp;gt; n=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; \chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; es la función característica de la bola de centro 0 y radio &amp;lt;math&amp;gt; ct &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3.   En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_3(x,t)=\frac{\delta (|x|-ct)}{4\pi c |x| }, \hspace{2mm} t&amp;gt;0. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representaciones ===&lt;br /&gt;
&lt;br /&gt;
Antes de nada, nótese que la solución fundamental es radial para todas estas dimensiones. La primera lo es puesto que &amp;lt;math&amp;gt; x\in \mathbb{R}&amp;lt;/math&amp;gt;, y las otras dos son radiales por que la variable espacial &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; aparece siempre en módulo, &amp;lt;math&amp;gt; |x| &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A continuación, dibujamos las dichas soluciones fundamentales:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr471.png|600px|thumb|right|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función de Heaviside&lt;br /&gt;
H = @(s) double(s &amp;gt;= 0);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K1(x,t)&lt;br /&gt;
K1 = @(x, t) (1 / (2 * c)) * (H(x + c * t) - H(x - c * t));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(-10, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 10, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K1 para cada par de valores (x, t)&lt;br /&gt;
K1_values = arrayfun(@(x_val, t_val) K1(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K1_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_1(x,t)');&lt;br /&gt;
title(['Gráfico de K_1(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la expresión analítica, esta función fundamental tiene una singularidad cuando &amp;lt;math&amp;gt; c^2t^2=|x|^2 &amp;lt;/math&amp;gt;. Por ello, para poder representarla añadiremos un sumando &amp;lt;math&amp;gt; \epsilon &amp;lt;/math&amp;gt;  al denominador, esto es &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; K_2(x,t)=\frac{1}{\epsilon +2\pi c\sqrt{c^2t^2-|x|^2}}\chi_{B(0,ct)}(x), &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Su representación gráfica en función de la variable radial es la dada por la siguiente imagen:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Pr472.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
&lt;br /&gt;
% Definir la función característica de la bola de centro 0 y radio ct&lt;br /&gt;
chi_B = @(x, t) double(abs(x) &amp;lt;= c * t);&lt;br /&gt;
&lt;br /&gt;
% Definir la función K2(x,t)&lt;br /&gt;
K2 = @(x, t) (1 ./ (0.01 + 2 * pi * c * sqrt(c^2 * t.^2 - x.^2))) .* chi_B(x, t);&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K2 para cada par de valores (x, t)&lt;br /&gt;
K2_values = arrayfun(@(x_val, t_val) K2(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K2_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_2(x,t)');&lt;br /&gt;
title(['Gráfico de K_2(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En dimensión &amp;lt;math&amp;gt; n=3 &amp;lt;/math&amp;gt;, para poder hacer la representación tendremos que tomar la siguiente aproximación de la delta de Dirac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \delta(s) \sim \phi _k (s) = \sqrt{\frac{1000}{\pi}e^{-1000s^2}} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, su representación queda como sigue:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:pr473.png|600px|thumb|left|Solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
c = 1;  % Puedes ajustar el valor de c según lo necesites&lt;br /&gt;
a = 1000;  % Constante del exponente&lt;br /&gt;
&lt;br /&gt;
% Definir la función K3(x,t)&lt;br /&gt;
K3 = @(x, t) (sqrt((a / pi) * exp(-a * (abs(x) - c * t).^2))) ./ (4 * pi * c * abs(x));&lt;br /&gt;
&lt;br /&gt;
% Rango de valores para x y t&lt;br /&gt;
x = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites&lt;br /&gt;
t = linspace(0, 1, 1000);  % Ajusta el rango y la resolución según lo necesites, evitando t=0 para evitar división por cero&lt;br /&gt;
&lt;br /&gt;
% Crear mallas para x y t&lt;br /&gt;
[X, T] = meshgrid(x, t);&lt;br /&gt;
&lt;br /&gt;
% Calcular K3 para cada par de valores (x, t)&lt;br /&gt;
K3_values = arrayfun(@(x_val, t_val) K3(x_val, t_val), X, T);&lt;br /&gt;
&lt;br /&gt;
% Dibujar la función&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, K3_values, 'EdgeColor', 'none');&lt;br /&gt;
&lt;br /&gt;
% Añadir más color&lt;br /&gt;
colormap(jet);  % Utilizar el colormap 'jet' para colores más vibrantes&lt;br /&gt;
colorbar;&lt;br /&gt;
shading interp;  % Interpolación de colores para suavizar la apariencia&lt;br /&gt;
&lt;br /&gt;
% Añadir etiquetas y título&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('K_3(x,t)');&lt;br /&gt;
title(['Gráfico de K_3(x,t) para c = ', num2str(c)]);&lt;br /&gt;
&lt;br /&gt;
% Añadir rejilla y ajustar la vista&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);  % Vista en 3D&lt;br /&gt;
&lt;br /&gt;
% Ajustar propiedades de la figura&lt;br /&gt;
set(gca, 'FontSize', 12);  % Tamaño de fuente más grande para mejorar la legibilidad&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP23/24]]&lt;/div&gt;</summary>
		<author><name>Otelo</name></author>	</entry>

	</feed>