Académique Documents
Professionnel Documents
Culture Documents
Para solucionar la ecuación resolvemos la serie de expansión de Taylor, se incluyen los términos
hasta el cuarto orden,
∞
𝑓𝑧𝑛 ∆𝑧 𝑛
𝐹(𝑧 + ∆𝑧) = ∑
𝑛!
𝑖=0
ℎ(𝑥 + ∆𝑥, 𝑦, 𝑡) − 2ℎ(𝑥, 𝑦, 𝑡) + ℎ(𝑥 − ∆𝑥, 𝑦, 𝑡) ℎ(𝑥, 𝑦 + ∆𝑦, 𝑡) − 2ℎ(𝑥, 𝑦, 𝑡) + ℎ(𝑥, 𝑦 + ∆𝑦, 𝑡)
𝑣2 [ + ]
(∆𝑥)2 (∆𝑥)2
ℎ(𝑥, 𝑦, 𝑡 + ∆𝑡) − 2ℎ(𝑥, 𝑦, 𝑡) + ℎ(𝑥, 𝑦, 𝑡 − ∆𝑡)
=
(∆𝑡)2
Para programar en matlab se necesita 2 for concatenados uno para variar el x dado por la letra i y el
otro para variar el y dado por el contador j y otro for para sumar los cambios de ℎ(𝑥, 𝑦, 𝑡 − ∆𝑡) en el
código de 1D se utilizo el comando plot que grafica vectores en este paso nos ayudamos del
comando surf
%%%%%%espaciales
dx = L/(N-1) ;
%%%%%%%%Temporales
tf = 2000.0;
dt = tf/(nt-1);
factor = v*v*dt*dt/(dx*dx);
x =linspace(0,L,N)';
[X, Y] = meshgrid(x,x) ;
ht = [X, Y] ;
t = 0 ;
htmasdt(1,:) = 0 ;
htmasdt(N,:) = 0 ;
htmasdt(:,1) = 0 ;
htmasdt(:,N) = 0 ;
for i = 2:N-1
for j = 2:N-1
htmasdt(i,j) = ht(i,j)+2*factor*(ht(i+1,j)-ht(i,j)+ht(i-1,j)+ht(i,j-
1)+ht(i,j+1)) ;
end
end
for m=3:nt
t = t + dt ;
U0 = ht ;
ht = htmasdt ;
for i=2:N-1
for j=2:N-1
htmasdt(i,j) = ht(i,j)-U0(i,j)+ factor*(ht(i-1,j) - ht(i,j)
+ ht(i+1,j)+ht(i,j-1)+ht(i,j+1));
end
end
if( mod(m,5) == 0 )
surf(X,Y, htmasdt);
axis([0 L 0 L -1 1]);
pause(0.01);
end
end
1. Al correr el código el movimiento de la onda no nos dio uniforme esto debido tal vez a la
línea de código que cambiamos
2. La ecuación diferencial puede tener varias ecuaciones solución de esta
3. El error se debió a la falta de herramientas en el trabajo de 3d a la hora de usar el mathlab
4347-17-0004382429
1-7184049798