Ecuación de Ondas (Grupo 2 1/2)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Ecuación de Ondas. |
| Asignatura | EDP |
| Curso | 2023-24 |
| Autores | Alfredo de Lorenzo, Hugo Sanz, Manuel Fdez. |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Introducción
A lo largo de este trabajo se va a trabajar con diferentes soluciones de la ecuación de ondas, interpretando sus comportamientos. También se va a estudiar la solución fundamental en 1, 2 y 3 dimensiones aplicando un impulso inicial en 𝑥=0, gracias a lo cual se podrá interpretar el principio de Huygens.
2 Ecuación de ondas I
En esta sección, se va a trabajar con la ecuación de ondas en una dimensión. Para ello, se va a considerar una cuerda vibrante en el intervalo [math] [0,1][/math], con densidad [math] d[/math] y tensión [math] \tau_0 [/math] constante. De modo que la velocidad de propagación es [math] c=1 ~~m/s[/math] . Además, se va a suponer que la cuerda está fijada en los extremos y se denota como [math] u_0(x)[/math] y [math] u_1(x)[/math] su posición e impulso iniciales respectivamente.
2.1 Planteamiento del problema
En primer lugar se plantea el sistema de EDP que modeliza el comportamiento de los desplazamientos transversales de la cuerda. Para ello, es suficiente considerar la ecuación de ondas [math] u_{tt} – c^2u_{xx}=0[/math] y se establecen las condiciones iniciales mencionadas anteriormente. De esta manera se obtiene que el sistema EDP a resolver es:
2.2 Resolución del sistema
La resolución de la ecuación se va realizar mediante el método de separación de variables. Para ello, se considera que la solución es de la forma [math] u(x,t) = T(t) X(x)[/math] .
Realizando el desarrollo correspondiente y aplicando el principio de superposición se obtiene que la solución del sistema es de la siguiente forma:
siendo
[math] c_k= \frac{\int_0^1 sin (k \pi x) u_0 (x) dx}{\int_0 ^1 sin^2(k \pi x) dx}[/math]
[math] d_k= \frac{\int_0^1 sin (k \pi x) u_1 (x) dx}{\int_0 ^1 sin^2(k \pi x) dx}[/math]
Finalmente, si agrupamos todo, la solución de la ecuación de ondas es la siguiente:
Esta expresión proporciona la solución completa de la ecuación de onda en función de las condiciones iniciales \( u_0(x) \) y \( u_1(x) \).
2.3 Particularización del problema
En esta parte del documento se van a analizar una serie de ejemplos para comprender de manera precisa lo explicado en la sección anterior.
2.3.1 Caso 1. Solución periódica
El primero de ellos se trata de la representación gráfica de una solución periódica en tiempo. Esta viene dada suponiendo que los datos iniciales son [math]u_0(x)=e^{-100(x-\frac{1}{2})^2}[/math] y [math]u_1(x)=0[/math]. La solución de este problema se va a representar en el intervalo \(t ∈ [0, 2] \).
Como se puede observar, la amplitud máxima de la onda es 1 y se alcanza para valores enteros del tiempo. Además, para x=0 y x=1 se tiene que u(x,t)=0, pues por hipótesis la cuerda está fijada en los extremos.
Además también se ve como la función muestra un comportamiento que se repite regularmente con el tiempo. A estas funciones se les denomina periódicas en tiempo.
Finalmente se muestra el código con el que se ha realizado dicha representación.
clear
close all
clc
% Se definen las condiciones iniciales
u_0 = @(x) exp(-100*(x-1/2).^2);
u_1 = @(x) 0;
% Definición de los intervalos de tiempo y espacio
t = linspace(0,2,1000);
x = linspace(0,1,1000);
% Número de términos de la serie a dibuja
n = 50;
% definición de matrices para almacenar coeficientes de Fourier
ak_0 = zeros(n,1);
bk_0 = zeros(n,1);
ck_0 = zeros(n,1);
ak_1 = zeros(n,1);
bk_1 = zeros(n,1);
ck_1 = zeros(n,1);
% Cálculo de coeficientes de Fourier asociados a u_0
for k = 1:n
f_sen_0 = @(x) u_0(x).*sin(k*pi*x);
f_cos_0 = @(x) u_0(x).*cos(k*pi*x);
f_medio_0 = @(x) u_0(x).*0.5;
ak_0(k) = trapz(x, f_sen_0(x));
bk_0(k) = trapz(x, f_cos_0(x));
ck_0(k) = trapz(x, f_medio_0(x));
end
% Cálculo de coeficientes de Fourier asociados a u_1
for k = 1:n
f_sen_1 = @(x) u_1(x).*sin(k*pi*x);
f_cos_1 = @(x) u_1(x).*cos(k*pi*x);
f_medio_1 = @(x) u_1(x).*0.5;
ak_1(k) = trapz(x, f_sen_1(x));
bk_1(k) = trapz(x, f_cos_1(x));
end
% Sustituimos en la solución calculada por separación de variables
u = @(xx,tt) 0;
for i = 1:n
u = @(xx,tt) u(xx,tt) + (ak_0(i)*cos(i*pi*tt) + bk_1(i)*sin(i*pi*tt)) .* sin(i*pi*xx);
end
% Graficamos la solución
[X, T] = meshgrid(x, t);
surf(X, T, u(X, T), 'EdgeColor', 'flat')
title('Ecuación de ondas')
xlabel('x')
ylabel('t')
2.3.2 Caso 2. Onda viajera
Se considera ahora que la onda viaja en un solo sentido, esto es que:
Para este caso, se utilizará la función