%% matrices y graficos 3D clear all; close all; clc; %% inicializacion %generacion de grilla es importante puesto que en la grilla se pueden %definir funciones en este caso de dos variables (x,y) es decir que %la grilla representa la discretizacion del plano %empezaremos como base un espacio plano bidimensional, rectangulat de %dimensiones de Lx = 5(m) Ly = 5(m) con una discretizacion de 0.1(m) Lx = 5; Ly = 5; incx = 0.1; incy = 0.1; %generamos la grilla usando el comando meshgrid [x,y] = meshgrid(0:incx:Lx, 0:incy:Ly); %las expresiones 0:incx:Lx % 0:incx:Lx %son similares a las usadas en los ciclos for genéricos %% incializacion f = 1; %frecuencia w = 2*pi*f; %frecuencia angular c = 1; %velocidad del sonido k = w/c; %número de inda lamda = 2*pi/k; %longitud de onda A = 1.5; %amplitud %% calculo principal %inicializamos el tiempo for t = 0: 0.1 : 4*pi %inicio de ciclo del tiempo (t) %variable presion sonora p = (x,t) p = A*sin(w*t - k*x ); %onda plana simple %graficamos a cada iteración del tiempo se cambia %la figura generando la animación figure(1) surf(x,y,p,'FaceColor','interp',... 'EdgeColor','none',... 'FaceLighting','phong'); title('onda plana 2') xlabel('x (m)'); ylabel('y (m)'); zlabel('p(x,y,t) (m)'); grid on; box on; axis([0 Lx 0 Ly -A A]); daspect([1 1 1]); colormap jet; colorbar pause(0.01); end; %fin del ciclo del tiempo