Diferencia entre revisiones de «Ecuación de Ondas»
(→Condiciones de frontera de Neumann) |
(→Condiciones de frontera de Neumann) |
||
| Línea 299: | Línea 299: | ||
=Condiciones de frontera de Neumann= | =Condiciones de frontera de Neumann= | ||
El nuevo sistema de ecuaciones para la ecuación de ondas con condiciones de frontera de Neumann es: | El nuevo sistema de ecuaciones para la ecuación de ondas con condiciones de frontera de Neumann es: | ||
| − | <math> | + | <math> <center> |
\left\{ | \left\{ | ||
\begin{align*} | \begin{align*} | ||
Revisión del 13:24 26 may 2024
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Ecuación de Laplace y de Poisson. Grupo ABMR |
| Asignatura | EDP |
| Curso | 2023-24 |
| Autores | Arturo Barrena y Mario Ríos |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Planteamiento del problema
El problema que se está describiendo corresponde a la ecuación de ondas, la cual modela la vibración de una cuerda fija en los extremos. Vamos a plantear el sistema de ecuaciones correspondiente, describiendo cada término.
1.1 Ecuación de ondas
La ecuación de ondas en una dimensión, con una cuerda de densidad \(d\) y tensión \(\tau_0\), donde la velocidad de propagación es \(c = \sqrt{\tau_0/d}\), se escribe como:
[math] \frac{\partial^2 u}{\partial t^2} = c^2 \frac{\partial^2 u}{\partial x^2} [/math]
Dado que en este caso \(c = 1\), la ecuación se simplifica a:
[math] \frac{\partial^2 u}{\partial t^2} = \frac{\partial^2 u}{\partial x^2} [/math]
1.2 Condiciones de frontera
Dado que la cuerda está fija en los extremos, tenemos:
[math] u(0, t) = 0 [/math]
[math] u(1, t) = 0 [/math]
Estas condiciones indican que la posición de la cuerda en los puntos \(x = 0\) y \(x = 1\) siempre es cero, es decir, la cuerda no se mueve en los extremos.
1.3 Condiciones iniciales
Las condiciones iniciales especifican la posición y la velocidad inicial de la cuerda:
Posición inicial:
[math] u(x, 0) = u_0(x) [/math]
Esto describe la forma inicial de la cuerda en \(t = 0\).
Velocidad inicial:
[math] \frac{\partial u}{\partial t}(x, 0) = u_1(x) [/math]
Esto describe la velocidad inicial de cada punto de la cuerda en \(t = 0\).
1.4 Descripción de cada término
- \(u(x,t)\): Desplazamiento de la cuerda en la posición \(x\) y tiempo \(t\).
- \(\frac{\partial^2 u}{\partial t^2}\): Aceleración de la cuerda en la posición \(x\) y tiempo \(t\).
- \(\frac{\partial^2 u}{\partial x^2}\): Curvatura de la cuerda en la posición \(x\) y tiempo \(t\).
- \(u_0(x)\): Desplazamiento inicial de la cuerda en la posición \(x\).
- \(u_1(x)\): Velocidad inicial de la cuerda en la posición \(x\).
De esta forma se puede escribir el siguiente sistema que recoge toda la información mencionada anteriormente:
[math] \left\{ \begin{aligned} &u_{tt}(x,t) = u_{xx}(x,t) & 0 \lt x \lt 1, t \gt 0, \\ &u(0, t) = u(1, t)=0, & t \gt 0, \\ &u(x, 0) =u_0(x) \\ &u_t(x, 0) = u_1(x), \end{aligned} \right. [/math]
2 Modelización de los desplazamientos transversales de la cuerda
Para resolver la ecuación de ondas utilizando el método de separación de variables y expresar la solución en términos de los coeficientes de Fourier de los datos iniciales, se siguen los siguientes pasos:
1. Plantear la solución mediante separación de variables:
Asumimos una solución de la forma \( u(x,t) = X(x)T(t) \). Sustituyendo en la ecuación de ondas \( \frac{\partial^2 u}{\partial t^2} = \frac{\partial^2 u}{\partial x^2} \) y dividiendo por \( X(x)T(t) \), obtenemos:
[math] \frac{T''(t)}{T(t)} = \frac{X''(x)}{X(x)} = -\lambda [/math]
Esto nos lleva a dos ecuaciones ordinarias:
[math] X''(x) + \lambda X(x) = 0 [/math]
[math] T''(t) + \lambda T(t) = 0 [/math]
2. Resolver las ecuaciones ordinarias:
La solución de \( X(x) \) depende del valor de \( \lambda \). Considerando las condiciones de frontera \( X(0) = 0 \) y \( X(1) = 0 \), obtenemos que:
[math] X_n(x) = \sin(n\pi x) [/math]
con \( \lambda_n = (n\pi)^2 \) y \( n = 1, 2, 3, \ldots \).
Para \( T(t) \), la solución es:
[math] T_n(t) = A_n \cos(n\pi t) + B_n \sin(n\pi t) [/math]
3. Construir la solución general:
La solución general es la suma de todas las soluciones particulares:
[math] u(x,t) = \sum_{n=1}^{\infty} \left[ A_n \cos(n\pi t) + B_n \sin(n\pi t) \right] \sin(n\pi x) [/math]
4. Determinar los coeficientes \( A_n \) y \( B_n \) usando las condiciones iniciales:
Dado \( u(x,0) = u_0(x) \) y \( \frac{\partial u}{\partial t}(x,0) = u_1(x) \), tenemos:
[math] u_0(x) = \sum_{n=1}^{\infty} A_n \sin(n\pi x) [/math]
[math] u_1(x) = \sum_{n=1}^{\infty} n\pi B_n \sin(n\pi x) [/math]
Los coeficientes de Fourier \( A_n \) y \( B_n \) se determinan como:
[math] A_n = 2 \int_0^1 u_0(x) \sin(n\pi x) \, dx [/math]
[math] B_n = \frac{2}{n\pi} \int_0^1 u_1(x) \sin(n\pi x) \, dx [/math]
5. Expresar la solución final:
Sustituimos los coeficientes en la solución general:
[math] u(x,t) = \sum_{n=1}^{\infty} \left[ \left( 2 \int_0^1 u_0(x) \sin(n\pi x) \, dx \right) \cos(n\pi t) + \left( \frac{2}{n\pi} \int_0^1 u_1(x) \sin(n\pi x) \, dx \right) \sin(n\pi t) \right] \sin(n\pi x) [/math]
3 Particularización del sistema de ecuación de ondas a unos datos iniciales dados
Simplemente se ha sustituido los valores iniciales en el sistema que se dio anteriormente:
[math] \left\{ \begin{aligned} &u_{tt}(x,t) = u_{xx}(x,t) & 0 \lt x \lt 1, t \gt 0, \\ &u(0, t) = u(1, t) = 0, & t \gt 0, \\ &u(x, 0) = e^{-100(x - 1/2)^2}, \\ &u_t(x, 0) = 0, \end{aligned} \right. [/math]
de forma que la serie de la cual se deben representar y mostrar sus 50 primeros términos se mostrará a continuación tras sustituir los correspondientes datos iniciales.
3.1 Determinar los coeficientes [math] A_{n} [/math] y [math] B_{n} [/math] usando las condiciones iniciales
Dado \( u_0(x) = e^{-100(x - 1/2)^2} \) y \( u_1(x) = 0 \):
[math] A_n = 2 \int_0^1 e^{-100(x - 1/2)^2} \sin(n\pi x) \, dx [/math]
[math] B_n = 0[/math]
3.2 Expresar la solución final
[math] u(x,t) = \sum_{n=1}^{\infty} \left( 2 \int_0^1 e^{-100(x - 1/2)^2} \sin(n\pi x) \, dx \right) \cos(n\pi t) \sin(n\pi x) [/math]
Para graficar la solución en el intervalo de tiempo \( t \in [0,2] \), tomaremos los primeros 50 términos de la serie.
3.3 Código
close all
% Limpiar el espacio de trabajo y cerrar todas las figuras previas
clear all
close all
% Datos
numterminos_serie = 50; % Número de términos para la serie de Fourier
numvalores_t = 400; % Número de valores de t
numvalores_x = 400; % Número de valores de x
numvalores_trapecio = 300; % Número de valores al discretizar para la fórmula del trapecio
% Generación de puntos de evaluación
t = linspace(0, 2, numvalores_t); % Vector de valores de t
x = linspace(0, 1, numvalores_x); % Vector de valores de x
s = linspace(0, 1, numvalores_trapecio); % Vector de valores de s
% Cálculo de la solución con los primeros 50 términos de la serie de Fourier
U = zeros(length(x), length(t));
for n = 1:numterminos_serie
integrando = @(s) 2*exp(-100*(s-1/2).^2).*sin(n*pi*s);
U = U + trapz(s,integrando(s))*cos(n*pi*t)'*sin(n*pi*x);
end
%Gráfica
surf(x,t,U, 'EdgeColor', 'none'); % Gráfica de la solución en función de x y t
xlabel('x'); ylabel('t'); zlabel('u(x,t)'); % Etiquetas de ejes
legend('u(x,t)'); % Leyenda
4 Condiciones iniciales de una onda que viaja en un único sentido
Tomar como datos iniciales los correspondientes a una onda que viaja en un solo sentido implica que la forma de la onda en un punto dado \( x \) y tiempo \( t \) está determinada por la función \( f(x - t) \). En otras palabras, la onda se desplaza hacia la derecha a una velocidad constante \( c \), donde \( c \) es la velocidad de propagación de la onda. Esto se logra al modificar apropiadamente las condiciones iniciales \( u_0(x) \) y \( u_1(x) \) para que reflejen esta propiedad de la onda unidireccional. En este caso particular, \( u_0(x) \) representa la forma inicial de la onda y \( u_1(x) \) representa la derivada de \( u_0(x) \) con respecto a \( x \), ajustada negativamente, para reflejar la velocidad y dirección de propagación.
[math] \left\{ \begin{aligned} &u_{tt}(x,t) = u_{xx}(x,t) & 0 \lt x \lt 1, t \gt 0, \\ &u(0, t) = u(1, t) = 0, & t \gt 0, \\ &u(x, 0) = e^{-100(x - 1/2)^2}, \\ &u_t(x, 0) = 200(x - 1/2)e^{-100(x - 1/2)^2}, \end{aligned} \right. [/math]
notése que se toma \( u_0(x) = f(x) \) y \( u_1(x) = -f'(x) \), donde \( f(x) = e^{-100(x-1/2)^2} \).
Calcular los coeficientes de Fourier:
Los coeficientes de Fourier se calculan utilizando las siguientes fórmulas:
[math] A_n = 2 \int_0^1 e^{-100(x-1/2)^2} \sin(n\pi x) \, dx \\ B_n = \frac{2}{n\pi} \int_0^1 200(x - 1/2)e^{-100(x - 1/2)^2} \sin(n\pi x) \, dx [/math]
Expresar la solución final:
Una vez que tenemos los coeficientes de Fourier, la solución se expresa como una serie infinita:
[math] u(x,t) = \sum_{n=1}^{\infty} \left[ A_n \cos(n\pi t) + B_n \sin(n\pi t) \right] \sin(n\pi x) [/math]
Esto representa una suma infinita sobre todos los términos de la serie de Fourier. A continuación se hará la representación gráfica de la serie:
4.1 Código
close all
% Limpiar el espacio de trabajo y cerrar todas las figuras previas
clear all
close all
% Datos
numterminos_serie = 50; % Número de términos para la serie de Fourier
numvalores_t = 400; % Número de valores de t
numvalores_x = 400; % Número de valores de x
numvalores_trapecio = 300; % Número de valores al discretizar para la fórmula del trapecio
% Generación de puntos de evaluación
t = linspace(0, 4, numvalores_t); % Vector de valores de t
x = linspace(0, 1, numvalores_x); % Vector de valores de x
s = linspace(0, 1, numvalores_trapecio); % Vector de valores de s
% Cálculo de la solución con los primeros 50 términos de la serie de Fourier
U = zeros(length(x), length(t));
for n = 1:numterminos_serie
integrando1 = @(s) 2*exp(-100*(s-1/2).^2).*sin(n*pi*s);
integrando2 = @(s) 2/(n*pi)*200*(s-1/2).*exp(-100*(s-1/2).^2).*sin(n*pi*s);
U = U + (trapz(s,integrando1(s))*cos(n*pi*t)' + trapz(s,integrando2(s))*sin(n*pi*t)')*sin(n*pi*x);
end
%Gráfica
surf(x,t,U, 'EdgeColor', 'none'); % Gráfica de la solución en función de x y t
xlabel('x'); ylabel('t'); zlabel('u(x,t)'); % Etiquetas de ejes
legend('u(x,t)'); % Leyenda
5 Condiciones de frontera de Neumann
El nuevo sistema de ecuaciones para la ecuación de ondas con condiciones de frontera de Neumann es: [math] \ltcenter\gt \left\{ \begin{align*} &u_{tt}(x,t) = u_{xx}(x,t) & \text{para } 0 \lt x \lt 1, t \gt 0, \\ &u_x(0, t) = u_x(1, t) = 0, & \text{para } t \gt 0, \\ &u(x, 0) = u_0(x), \\ &u_t(x, 0) = u_1(x), \end{align*} \right. [/math] </center> Tal y como se hizo en los apartados anteriores se resuelve el sistema por el método de separación de variables (no se desarrollará de nuevo):