%% matrices y graficos 02 clear all; close all; clc; %para graficar funciones mas complejas necesitamos una grilla %esto es importante porque define las dimesiones y el espacio 2D donde la %funcion se define %% grilla %generamos la grilla usando el comando meshgrid y ademās el uso de %prealocaciōn en este caso usaremos una grilla de Lx = 5(m) Ly = 3(m) %cada 0.1(m) %esto significa usar un esquema parecido al comando for es decir %Ninicio:Incremento:Nfinal Lx = 5; Ly = 3; incx = 0.1; incy = 0.1; [x,y] = meshgrid(-Lx:incx:Lx, -Ly:incy:Ly); %% funcion para graficar funxy1 = sin(4*x + 10*y);%funcion similar a onda plana %% grafico figure(1); surf(x,y,funxy1); title('grafico3D f(x,y)'); xlabel('x(m)'); ylabel('y(m)'); zlabel('f(x,y)(m)'); grid on; box on; colorbar daspect([1 1 1]); %controla el aspecto axis([-5 5 -3 3]); %no coloque el rango en z %porque no conozco a priori los valores %% reflexion %existe una gran diferencia entre una funcion matemātica que calcula la %operacion entre dos numeros y un programa que es capaz de calcular %todos los valores entre dos numeros para generar una grafica xx = 1; yy = 2; zz = sin(xx + yy); %comparemos con funxy1 = sin(x + y); %% otra funcion r = sqrt(x.^2 + y.^2); funxy2 = sin(4*r)./r; figure(2); surf(x,y,funxy2); title('grafico3D f(x,y)'); xlabel('x(m)'); ylabel('y(m)'); zlabel('f(x,y)(m)'); grid on; box on; colorbar daspect([1 1 1]); axis([-5 5 -3 3]); %el mismo grafico con tuti figure(3) surf(x,y,funxy2, 'FaceColor','interp',... 'EdgeColor','none',... 'FaceLighting','phong'); title('grafico3D f(x,y)'); xlabel('x(m)'); ylabel('y(m)'); zlabel('f(x,y)(m)'); grid on; box on; colorbar daspect([1 1 1]); axis([-5 5 -3 3]); %% grafico de contorno figure(4); contour(x,y,funxy2); title('grafico3D f(x,y)'); xlabel('x(m)'); ylabel('y(m)'); zlabel('f(x,y)(m)'); grid on; box on; colorbar daspect([1 1 1]); axis([-5 5 -3 3]); figure(5); contour3(x,y,funxy2); title('grafico3D f(x,y)'); xlabel('x(m)'); ylabel('y(m)'); zlabel('f(x,y)(m)'); grid on; box on; colorbar daspect([1 1 1]); axis([-5 5 -3 3]); %% grafico de malla figure(6); mesh(x,y,funxy2); title('grafico3D f(x,y)'); xlabel('x(m)'); ylabel('y(m)'); zlabel('f(x,y)(m)'); grid on; box on; colorbar daspect([1 1 1]); axis([-5 5 -3 3]); %% campo vectorial [dx,dy] = gradient(funxy2,incx,incy); figure(7); contour(x,y,funxy2); hold on; %mantiene el grafico anterior quiver(x,y,dx,dy); title('grafico3D f(x,y)'); xlabel('x(m)'); ylabel('y(m)'); zlabel('f(x,y)(m)'); grid on; box on; colorbar daspect([1 1 1]); axis([-5 5 -3 3]);