Código en Matlab para La Ecuación de Onda
Código en Matlab para La Ecuación de Onda
Código en Matlab para La Ecuación de Onda
NOVIEMBRE 2017
Código en matlab para la ecuación de Onda
clear all;
clc;
%esta parte del codigo sirve para pedir los valores dados por el problema
%desde consola. Si se desea este mismo se puede activar
syms x
% f1 = input('Inserte la condición inicial u(0,t) = f(x): ','s');
% f = inline(f1);
% g1 = input('Inserte la condición inicial du(0,t)/dt = g(x):
','s');
% g = inline(g1);
% L = input('Inserte la longitud de la cuerda): ');
% tmax = input('Inserte un tiempo máximo: ');
% h = input('Inserte el tamaño de paso en el eje x: ');
% k = input('Inserte el tamaño de paso en el eje t: ');
% c = input('Inserte la constante c: ');
figure(1)
mesh(x,tiempo,u')
colorbar
grid on
title('Solución a la ecuación de onda usando diferencias finitas')
xlabel('t')
ylabel('x')
zlabel('u(x,t)')
surf(X,T,sum)
colorbar
grid on
title('Solución exacta a la ecuación de onda')
xlabel('t')
ylabel('x')
zlabel('u(x,t)')
figure(3)
mesh(x,tiempo,u')
colorbar
grid on
hold on
[X,T]= meshgrid(x,tiempo);
surf(X,T,sum)
colorbar
grid on
hold on
title('Comparación de soluciones')
xlabel('t')
ylabel('x')
zlabel('u(x,t)')
El código muestra las siguientes graficas de la solución exacta, la aproximada y una comparación
de ambas para el caso del primer problema de comprobación
si
comparamos esta dos últimas graficas sobreponiendo una en la otra obtenemos la siguiente
gráfica
Aquí podemos observar que tenemos una buena aproximación pues las dos gráficas se acoplan de
una buena manera sin partes irregulares de una sobresaliendo de la otra.
Para el segundo problema obtenemos
En esta grafica podemos ver la gráfica de la solución numérica obtenida por el código, a
continuación se muestra la gráfica de la solución exacta
Y por último podemos ver la comparación de las dos soluciónes
En esta gráfica podemos observar que las dos solución son muy similares pero no del todo pues
tenemos unas pequeñas superficies irregulares las cuales sobresalen una de la otra gráfica y esto
se debe al error que siempre está contenido en las aproximaciones.