Buenas estoy tratando de resolver la ecuación de ondas (soy de primer curso), y llega un momento que no se que hacer
Tenemos la ecuación:
Discretizamos el espacio, tal que
simetrizamos (no se lo que es pero asi me dijo el profesor)
que queda tal que así
Ahora ya queda poco,
todo en función de t, y ahora es donde me pierdo y no se como poner en matlab:
Tal que la dimensión de la matriz primera sería n x n+1 y la segunda n+1 x 1, si no me equivoco, donde serían los u que calcularemos, ya que para calcular necesito saber
He intentado un bucle for utilizando el método de euler pero claro le doy el dato de u(1), pero para calcular u(2) me dice que falta u(3)...
V=3; %343
a=1;
t0=0;
dt=10;
tf=100;
t=t0:dt:tf;
n=0:a:10;
v(1,1)=0;
u(1,1:length(n)-1)=0;
for i=1:length(t)-1
for j=1:length(n)
v(i+1,j)=v(i,j)+dt*(V^2*((u(i,j+2)+u(i,j)-2*u(i+1,j+1))/a^2));
u(i+1,j)=u(i,j)+dx*v(i,j);
plot(t,u,'ro')
pause(dt)
end
end
Voy muy perdido no? jaja
Tenemos la ecuación:
Discretizamos el espacio, tal que
simetrizamos (no se lo que es pero asi me dijo el profesor)
que queda tal que así
Ahora ya queda poco,
todo en función de t, y ahora es donde me pierdo y no se como poner en matlab:
Tal que la dimensión de la matriz primera sería n x n+1 y la segunda n+1 x 1, si no me equivoco, donde serían los u que calcularemos, ya que para calcular necesito saber
He intentado un bucle for utilizando el método de euler pero claro le doy el dato de u(1), pero para calcular u(2) me dice que falta u(3)...
V=3; %343
a=1;
t0=0;
dt=10;
tf=100;
t=t0:dt:tf;
n=0:a:10;
v(1,1)=0;
u(1,1:length(n)-1)=0;
for i=1:length(t)-1
for j=1:length(n)
v(i+1,j)=v(i,j)+dt*(V^2*((u(i,j+2)+u(i,j)-2*u(i+1,j+1))/a^2));
u(i+1,j)=u(i,j)+dx*v(i,j);
plot(t,u,'ro')
pause(dt)
end
end
Voy muy perdido no? jaja