Solución d'Alembert de la ecuación de onda

La ecuación de onda es una ecuación diferencial en derivadas parciales, lineal, de segundo orden que describe la propagación de una variedad de ondas

2 ψ t 2 = c 2 2 ψ x 2 ,<x<,t>0

Supongamos una cuerda de longitud infinita, con unas características tales que las ondas se propagan en este medio con velocidad c. Vamos a obtener la solución de esta ecuación diferencial en derivadas parciales para las condiciones iniciales

ψ(x,0)=F(x) ψ(x,t) t | t=0 =G(x)

F(x) describe la forma inicial t=0, de la cuerda y G(x), la velocidad inicial de los puntos de la cuerda

Solución d'Alembert

Escribimos el operador

2 t 2 c 2 2 x 2 =( t +c x )( t c x )

Sustituimos las variables x y t, por ξ=x-ct y η=x-ct

t = ξ t ξ + η t η =c ξ +c η x = ξ x ξ + η x η = ξ + η

Utilizando estos resultados la ecuación de onda se reduce a

( t c x )( t +c x )ψ=( c ξ +c η +c ξ +c η )( c ξ +c η c ξ c η )ψ =( 2c η )( 2c ξ )ψ=0

una expresión muy simple

η ψ ξ =0

Integramos esta ecuación diferencial

ψ ξ =f(ξ) ψ(ξ,η)= f(ξ)dξ+v(η) =u(ξ)+v(η)

Volviendo a las variables originales x y t

ψ(x,t)=u(xct)+v(x+ct)

No es una tarea fácil encontrar las funciones u y v que satisfacen las condiciones iniciales.

La solución de la ecuación diferencial en derivadas parciales es la suma de dos ondas que se propagan a lo largo del eje X en sentidos contrarios. El siguiente paso es determinar la forma de las funciones u y v dadas las condiciones iniciales

Tenemos un sistema de dos ecuaciones con dos incógnitas u(x) y v(x)

v(x)= 1 2 F(x)+ 1 2c x 0 x G(s)ds u(x)= 1 2 F(x) 1 2c x 0 x G(s)ds

La solución de la ecuación de ondas es

ψ(x,t)=u(xct)+v(x+ct)= 1 2 F(xct) 1 2c x 0 xct G(s)ds + 1 2 F(x+ct)+ 1 2c x 0 x+ct G(s)ds = ψ(x,t)= F(xct)+F(x+ct) 2 + 1 2c xct x+ct G(s)ds

La solución de la ecuación de ondas en el punto xp y en un instante tp es

ψ( x p , t p )= F( x p c t p )+F( x p +c t p ) 2 + 1 2c x p c t p x p +c t p G(s)ds

depende de los valores de la función F(x) en los extremos del intervalo [xp-ctp, xp+ctp] y de los valores de G(x) en todos los puntos de dicho intervalo. Este intervalo se llama domino de dependencia. Esto es debido a que los efectos de la perturbación inicial se propagan con velocidad finita c, por lo que solamente una parte de los datos iniciales afectan la solución de la ecuación de ondas en el punto xp y en el instante tp. Los datos iniciales fuera de dicho intervalo no tienen influencia

Cuerda infinita

Vamos a ilustrar la solución de d'Alembert, mediante algunos ejemplos y animaciones para una cuerda de longitud infinita

Solución con velocidad inicial nula, G(x)=0

Consideremos una cuerda infinita, con una forma inicial dada por la función F(x) y con velocidad inicial nula, G(x)=0. La solución de la ecuación de onda es el promedio de dos perturbaciones que se propagan sin distorsión a lo largo del eje X en sentidos opuestos

ψ(x,t)= F(xct)+F(x+ct) 2

Ejemplo 1

Sea F(x)=A·exp(-x2)sinx

ψ(x,t)= A 2 { exp( ( xct ) 2 )sin( xct )+exp( ( x+ct ) 2 )sin( x+ct ) }

En color azul, se muestra F(x+ct), que se propaga hacia la izquierda y en color rojo F(x-ct) que se propaga hacia la derecha. En color negro, el promedio, ψ(x,t)

Ejemplo 2

Sea

F(x)={ 1+x,1x0 1x,0<x1 0,1>x>1

Expresamos la función F(x) en términos de la función escalón H(x-a)

F(x)=( H(x+1)H(x) )(1+x)+( H(x)H(x1) )(1x)

La solución ψ(x,t) de la ecuación de ondas con la condición inicial F(x) es

ψ(x,t)= F(xct)+F(x+ct) 2 = 1 2 { ( H(xct+1)H(xct) )(1+xct)+( H(xct)H(xct1) )(1x+ct)+ ( H(x+ct+1)H(x+ct) )(1+x+ct)+( H(x+ct)H(x+ct1) )(1xct) }

c=1; %velocidad de propagación
u=@(x,t) (heaviside(x-c*t+1)-heaviside(x-c*t)).*(1+x-c*t)+(heaviside(x-c*t)-
heaviside(x-c*t-1)).*(1-x+c*t);
v=@(x,t) (heaviside(x+c*t+1)-heaviside(x+c*t)).*(1+x+c*t)+(heaviside(x+c*t)-
heaviside(x+c*t-1)).*(1-x-c*t);
psi=@(x,t) (u(x,t)+v(x,t))/2;

tt=[0.25,0.5,1,2]; %tiempos
for i=1:4
    subplot(2,2,i)
    t=tt(i);
    hold on
    f=@(x) u(x,t);
    fplot(f,[-4,4],'color','r', 'lineStyle','--')
    f=@(x) v(x,t);
    fplot(f,[-4,4],'color','b', 'lineStyle','--')
    f=@(x) psi(x,t);
    fplot(f,[-4,4],'color','k')
    hold off
    grid on
    xlabel('x')
    ylabel('\psi')
    title(['t=',num2str(t)])
end

Representamos ψ(x,t) en los instantes t=0.25, 0.5, 1, 2

La línea a trazos en color azul muestra F(x+ct), que se propaga hacia la izquierda y en color rojo F(x-ct) que se propaga hacia la derecha. En color negro, el promedio, ψ(x,t)

Solución para una cuerda sin deformar, F(x)=0

Consideremos una cuerda infinita, sin deformar F(x)=0. Los puntos de la cuerda tienen una velocidad inicial G(x). La solución de la ecuación de ondas es

ψ(x,t)= 1 2c xct x+ct G(s)ds = 1 2 ( g(x+ct)g(xct) ) g(x)= 1 c x 0 x G(s)ds

Ejemplo 1

Sea

G(x)={ 0<x<1 11x1 01<x<

Calculamos g(x)

g(x)= 1 c x G(s)ds= 1 c { 0,<x<1 1 x 1·dx=x+1,1x1 1 1 1·dx=2=2,1<x<

Expresamos la función g(x) en términos de la función escalón H(x-a)

g(x)= 1 c { ( H(x+1)H(x1) )(x+1)+2H(x1) }= 1 c { H(x+1)(x+1)H(x1)(x1) }

La solución ψ(x,t) de la ecuación de ondas con la condición inicial G(x) es

ψ(x,t)= 1 2 ( g(x+ct)g(xct) )= 1 2c { H(x+ct+1)(x+ct+1)H(x+ct1)(x+ct1) H(xct+1)(xct+1)+H(xct1)(xct1) }

Representamos ψ(x,t) en los instantes t=0.25, 0.5, 1, 2

c=1; %velocidad de propagación
g=@(x) (heaviside(x+1).*(x+1)-heaviside(x-1).*(x-1))/c;
psi=@(x,t) (g(x+c*t)-g(x-c*t))/2;

tt=[0.25,0.5,1,2]; %tiempos
for i=1:4
    subplot(2,2,i)
    t=tt(i);
    fplot(@(x) psi(x,t),[-4,4],'color','k')
    grid on
    xlabel('x')
    ylabel('\psi')
    title(['t=',num2str(t)])
end

En la animación, la línea a trazos en color azul, se muestra g(x+ct), que se propaga hacia la izquierda y en color rojo -g(x-ct) que se propaga hacia la derecha. En color negro, el promedio ψ(x,t)

Ejemplo 2

Sea

G(x)= 1 a exp( | x | a )

Calculamos la integral g(x)

g(x)= 1 c x G(s)ds= 1 ca { x e s/a ds=a e x/a ,<x<0 0 e s/a ds+ 0 x e s/a ds=a+( a e x/a +a )=2aa e x/a ,0<x<

La solución ψ(x,t) es

g(x+ct)= 1 c { e (x+ct)/a ,<x<ct 2 e (x+ct)/a ,ct<x< g(xct)= 1 c { e (xct)/a ,<x<ct 2 e (xct)/a ,ct<x< ψ(x,t)= 1 2 ( g(x+ct)g(xct) )= 1 2c { e (x+ct)/a e (xct)/a ,<x<ct 2 e (x+ct)/a e (xct)/a ,ct<x<ct e (xct)/a e (x+ct)/a ,ct<x<

Representamos ψ(x,t) en los instantes t=0.25, 0.5, 1, 2

c=1; %velocidad de propagación
a=0.7; %parámetro
g=@(x) ((1-heaviside(x)).*exp(x/a)+heaviside(x).*(2-exp(-x/a)))/c;
psi=@(x,t) (g(x+c*t)-g(x-c*t))/2;

tt=[0.25,0.5,1,2]; %tiempos
for i=1:4
    subplot(2,2,i)
    t=tt(i);
    fplot(@(x) psi(x,t),[-5,5],'color','k')
    grid on
    xlabel('x')
    ylabel('\psi')
    title(['t=',num2str(t)])
end

En la animación, en color azul, se muestra g(x+ct), que se propaga hacia la izquierda y en color rojo -g(x-ct) que se propaga hacia la derecha. En color negro, el promedio ψ(x,t). Se ha tomado un valor de a=0.7

Cuerda semi-infinita

Sea una cuerda que se extiende a lo largo de la parte positiva del eje X, 0≤x<∞. En la figura, vemos como un pulso (en color rojo) que se propaga hacia la izquierda se refleja en x=0.

Velocidad inicial nula, G(x)=0

En este caso, la solución de d'Alambert se escribe

ψ(x,t)={ F(xct)+F(x+ct) 2 ,xct F(xct)F(x+ct) 2 ,x<ct

La deformación inicial F(x) de la cuerda alrededor de x0>0, se muestra en la figura

F(x)={ 1+x x 0 , x 0 1x x 0 1x+ x 0 , x 0 <x x 0 +1 0, x 0 1>x> x 0 +1

La posición inicial del pulso es x0=2, la velocidad de propagación c=1. Representamos ψ(x,t) en los instantes t=1, 1.5, 2, 3

c=1; %velocidad de propagación
x0=2; %posición inicial
f=@(x) (heaviside(x-x0+1)-heaviside(x-x0)).*(1+x-x0)+
(heaviside(x-x0)-heaviside(x-x0-1)).*(1-x+x0);
psi1=@(x,t) (f(x+c*t)+f(x-c*t))/2;
psi2=@(x,t) (f(x+c*t)-f(c*t-x))/2;

tt=[1,1.5,2, 3]; %tiempos
for i=1:4
    subplot(2,2,i)
    t=tt(i);
    psi=@(x) (x>c*t).*psi1(x,t)+(x<=c*t).*psi2(x,t);    
    fplot(@(x) psi(x),[0,7],'color','k')
    grid on
    xlabel('x')
    ylim([-0.55,0.55])
    ylabel('\psi')
    title(['t=',num2str(t)])
end

En la animación, se muestra como se propaga un pulso que parte de x0=5 y se refleja en el extremo x=0 de la cuerda

Deformación inicial nula, F(x)=0

La cuerda está inicialmente sin deformar, pero se le poporciona una velocidad inicial de una unidad a puntos alrededor de x0, tal como se muestra en la figura (arriba)

Para una cuerda semi-infinita, sustituimos G(x) por la extensión simétrica de G(x) tal como se muestra en la figura inferior (línea roja a trazos)

g(x)= 1 c x G(s)ds= 1 c { 0,<x< x 0 1 x 0 1 x G(s)·ds=x+ x 0 +1, x 0 1x x 0 +1 x 0 1 x 0 +1 G(s)·ds=2, x 0 +1x x 0 1 x 0 1 x G(s)·ds= x 0 1 x 0 +1 1·ds+ x 0 1 x 1·ds=3+x x 0 x 0 1x x 0 +1 x 0 1 x G(s)·ds= x 0 1 x 0 +1 1·ds+ x 0 1 x 0 +1 1·ds= 4, x 0 +1x

Expresamos la función g(x) en términos de la función escalón H(x-a)

g(x)=( H(x+ x 0 +1)H(x+ x 0 1) )( x+ x 0 +1 )+2( H(x x 0 1)H(x x 0 +1) )+ ( H(x x 0 +1)H(x x 0 1) )( 3+x x 0 )+4H(x x 0 1)

La solución ψ(x,t) de la ecuación de ondas con la condición inicial extendida G(x) es

ψ(x,t)= g(x+ct)g(xct) 2

Representamos ψ(x,t) en los instantes t=1, 2, 2.5, 4

c=1; %velocidad de propagación
x0=2; %posición inicial
g=@(x) (heaviside(x+x0+1)-heaviside(x+x0-1)).*(1+x+x0)+
2*(heaviside(x+x0-1)-heaviside(x-x0+1))+(heaviside(x-x0+1)-
heaviside(x-x0-1)).*(3+x-x0)+4*heaviside(x-x0-1);
psi=@(x,t) (g(x+c*t)-g(x-c*t))/2;

tt=[1,2, 2.5, 4]; %tiempos
for i=1:4
    subplot(2,2,i)
    t=tt(i);
    fplot(@(x) psi(x,t),[0,7],'color','k')
    grid on
    ylim([0,2.05])
    xlabel('x')
    ylabel('\psi')
    title(['t=',num2str(t)])
end

En la animación, se muestra la propagación de un pulso que parte de x0=5 y se refleja en el extremo x=0 de la cuerda

Cuerda finita

En este apartado, vamos a estudiar la solución d'Alembert de la ecuación de onda de una cuerda punzada y de una cuerda percutida y las vamos a comparar con la solución de la ecuación de onda como de superposición de armónicos.

Velocidad inicial nula, G(x)=0

Sea una cuerda de longitud l, punzada. Las condiciones iniciales son

ψ(x,0)={ h a x0xa h la (lx)a<xl ψ(x,t) x | t=0 =0

La línea de color rojo gruesa, muestra el desplazamiento inicial de los puntos de la cuerda F(x) de longitud l finita. Construimos la extensión antisimétrica -F(-x) (en color rojo fino). Copiamos F(x) y su extensión (color rojo) a uno y otro lado (color azul) infinitas veces. El estado inicial de la cuerda infinita equivalente es una función F*(x) de dominio infinito y periodo 2l

Con este código representamos la deformación inicial de la cuerda de longitud l. La cuerda se desplaza h desde la posición a, tal como se indica en la figura

L=1; %longitud de la cuerda
c=1; %velocidad de propagación
h=0.1; %deformación máxima
a=L/3; %punto de máxima deformación
%deformación inicial de la cuerda
f=@(x) h*(heaviside(x)-heaviside(x-a)).*x/a+h*(heaviside(x-a)-
heaviside(x-L)).*(L-x)/(L-a);
fplot(f,[0,L])
grid on
xlabel('x')
ylabel('y')
title('Deformación inicial F(x)')

Con este código dibujamos la extensión antisimétrica de F(x) y la función F*(x) de dominio infinito y periodo 2l. En la página titulada Otras funciones se explica como se representa una función periódica

L=1; %longitud de la cuerda
c=1; %velocidad de propagación
h=0.1; %deformación máxima
a=L/3; %punto de máxima deformación
f=@(x) -h*(heaviside(x+L)-heaviside(x+a)).*(x+L)/(L-a)+
h*(heaviside(x+a)-heaviside(x)).*x/a+h*(heaviside(x)-heaviside(x-a)).*x/a+
h*(heaviside(x-a)-heaviside(x-L)).*(L-x)/(L-a);
pf=@(x) f(x-2*floor((x+L)/2)); %función periódica
hold on
fplot(pf,[-3*L,3*L],'color','b') %F*(x)
fplot(f,[0,L],'color','r','lineWidth',1.5) %F(x)
fplot(f,[-L,0],'color','r') %antisimétrica
hold off
grid on
xlabel('x')
ylabel('y')
title('Deformación F^*(x)')

La solución de la ecuación de onda con velocidad inicial G(x)=0, nula es

ψ(x,t)= F * (xct)+ F * (x+ct) 2 ,0xl

La solución de la ecuación de onda con la superposición de armónicos de una cuerda punzada es

ψ(x,t)= 2h l 2 π 2 a(la) n=1 1 n 2 sin( nπ a l )sin( nπ x l )cos( nπ ct l )

Sea una cuerda de

Comparamos ambas soluciones en el instante t=1/2.

L=1; %longitud de la cuerda
c=1; %velocidad de propagación
h=0.1; %deformación máxima
a=L/3; %punto de máxima deformación

%solución d'Alembert
f=@(x) -h*(heaviside(x+L)-heaviside(x+a)).*(x+L)/(L-a)+
h*(heaviside(x+a)-heaviside(x)).*x/a+h*(heaviside(x)-heaviside(x-a)).*x/a+
h*(heaviside(x-a)-heaviside(x-L)).*(L-x)/(L-a);
pf=@(x) f(x-2*floor((x+L)/2)); %periódica
psi=@(x,t) (pf(x-c*t)+pf(x+c*t))/2; %solución d'Alembert
t=1/2; %instante
hold on
fplot(@(x) psi(x,t),[0,1])

%superposición de armónicos, 
x=linspace(0,L,200);
yy=zeros(1,length(x));
for n=1:20 
    yy=yy+sin(n*pi*a/L)*sin(n*pi*x/L)*cos(n*pi*t/L)/n^2;
end
yy=yy*(2*h*L^2/(pi^2*a*(L-a)));
plot(x,yy)
hold off
grid on
xlabel('x')
ylabel('y')
title('Cuerda punzada')

La superposición de armónicos da lugar a una serie infinita convergente, basta un número relativamente pequeño de términos para respresentar el estado de la cuerda en un instante dado t. Por tanto, esta solución de la ecuación de onda es aproximada, mientras que la solución de d'Alembert es exacta

Se introduce

Se pulsa el botón titulado Nuevo

Se suelta la cuerda y se observa su movimiento, en la parte superior se proporciona el dato del tiempo t

Se compara la solución exacta (en rojo, línea gruesa) con la aproximada (en azul, línea fina)

Deformación inicial nula, F(x)=0

Una cuerda sin deformar en el instante t=0, ψ(x,0)=0, se golpea con un martillo de ancho 2w<<L situado entre las abscisas x=a-w y x=a+w que comunica un impulso inicial a este segmento de cuerda. En estas condiciones, la velocidad de cada punto de la cuerda al instante t=0 esta dada por la función de la figura

ψ(x,t) t | t=0 ={ 0x<awx>a+w uawxa+w ψ(x,0)=0

Creamos la extensión antisimétrica de G(x)

g(x)= 1 c L x G(s)ds= 1 c { 0,L<x<aw aw x u·dx=u(x+a+w),aw<x<a+w aw a+w u·dx + a+w x 0·dx=2uw,awxa+w 2uw+ aw x u·dx=u(xaw),aw<x<a+w 2uw+ aw a+w u·dx+ a+w x 0·dx=0,a+w<x<L

Expresamos esta función en términos de la la función escalón

g(x)= 1 c { u(x+a+w)( H(x+a+w)H(x+aw) )2uw( H(x+aw)H(xa+w) ) +u(xaw)( H(xa+w)H(xaw) ) }

Creamos la función g*(x) de dominio infinito y periodo 2l

La solución de la ecuación de onda con deformación inicial nula F(x)=0, es

ψ(x,t)= 1 2 ( g * (x+ct) g * (xct) ),0xl

La solución de la ecuación de onda con la superposición de armónicos de una cuerda precutida es

ψ(x,t)= 4ul π 2 c n=1 1 n 2 sin( nπ w l )sin( nπ a l )sin( nπ x l )sin( nπ c l t )

Sea una cuerda de

Comparamos ambas soluciones en el instante t=1.

L=1; %longitud de la cuerda
u=1; %velocidad
a=0.2; %posición percusión
w=0.1; %anchura es 2w
c=0.2; %velocidad de propagación

%solución d'Alembert
g=@(x) (-u*(heaviside(x+a+w)-heaviside(x+a-w)).*(x+a+w)-
2*u*w*(heaviside(x+a-w)-heaviside(x-a+w))
+u*(heaviside(x-a+w)-heaviside(x-a-w)).*(x-a-w))/c;
pg=@(x) g(x-2*floor((x+L)/2)); %función periódica
psi=@(x,t) (pg(x+c*t)-pg(x-c*t))/2;
t=1; %instante
hold on
fplot(@(x) psi(x,t),[0,L])

%superposición de armónicos
x=linspace(0,L,200);
yy=zeros(1,length(x));
for n=1:20 
    yy=yy+sin(n*pi*w/L)*sin(n*pi*a/L)*sin(n*pi*x/L)*sin(n*pi*c*t/L)/n^2;
end
yy=yy*4*u*L/(pi^2*c);
plot(x,yy)
hold off

grid on
xlabel('x')
ylabel('y')
title('Cuerda percutida')

Se introduce

Se pulsa el botón titulado Nuevo

Se observa el movimiento de la cuerda, en la parte superior se proporciona el dato del tiempo t

Se compara la solución exacta (en rojo, línea gruesa) con la aproximada (en azul, línea fina)


Referencias

A. Salih. Second-Order Wave Equation. Indian Institute of Space Science and Technology, Thiruvananthapuram. 23 December 2016. https://www.iist.ac.in/sites/default/files/people/IN08026/dAlembert.pdf

B. M. Budak, A. A. Samarski, A. N. Tijonov. Problemas de la Física Matemática. Tomo I. Editorial Mir. (1984). Problemas 59 y 60. Enunciado, pág. 26; solución, págs. 140-143

Nakhlé H. Asmar. Partial Differential Equations with Fourier Series and Boundary Value Problems. Second edition. Pearson, Prentice Hall, 2005. pp. 127-130