Está en la página 1de 7

UNIVERSIDAD NACIONAL SAN AGUSTIN

ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA


CAMPOS ELECTROMAGNETICOS

PRACTICA 1: GRAFICOS EN MATLAB

1. OBJETIVOS:
• Conocer comprender y practicar los comandos utilizados para crear gráficas con Matlab
• Contrastar y diferenciar los comandos utilizados para gráficas en dos y tres dimensiones
2. MARCO TEÓRICO:
2.1 Gráficos en 2D
Función Comentario
figure Crea una figura
subplot Crea varios ejes en la misma figura
hold Superpone diferentes plots
plot Plot lineal
loglog Plot logarítmico
semilogx, semilogy Plot semilogarítmico en eje x e y
xlim, ylim , zlim Márgenes en cada uno de los ejes
tit, xlabel, ylabel Texto en título y ejes
legend, text, gtext Añadir texto en figura
ginput Marcar posición en figura
grid, box Mallado y caja en figura
bar, bar3, bar3h Gráficas de barras
errorbar Gráficas con barras que marcan el error
compass Gráficas en forma de compás
ezplot, ezpolar Gráficas sencillas de funciones
fplot Gráficas de funciones
hist, pareto Histograma y carta de pareto
pie, pie3 Pastel de dos o tres dimensiones
stem, stairts Gráficas con impulsos y escaleras
scatter, plotmatrix Gráficas de dispersión de datos y matrices

Figura 2.1: Principales comandos para gráficos 2D


2.2 Gráficos en 3D

Función Comentario
plot3 Plot lineal en tres dimensiones
mesh, meshc, meshz Plot de mallados en tres dimensiones
surf, surfc, surfl Plot de superficie en tres dimensiones
meshgrid, ndgrid Preparación de datos para gráficas de superficie
hidden Ocultar líneas y superficies ocultas
contour, contour3 Curvas de nivel
trimesh, trisurf Plot de mallado triangular
scatter3, stem3 Diagramas de dispersión e impulsos en 3 dimensiones
slice Gráficas de volumen
surfnorm Normales de las superficie
quiver3 Puntos y normales en vectores
patch Parches de superficie
Figura 2.2: Principales comandos para gráficos 3D

3. DESARROLLO.

3.1 GRAFICOS 2D
3.1.1 Representación gráfica básica
La orden de dibujo más simple es plot. Esta función puede ser utilizada de muchas maneras.
En primer lugar puede usarse para representar las componentes de un vector.
Por ejemplo, supongamos que el vector:
>> v=[15.6 16.2 18 17 16.5 15]
refiere las temperaturas (en °C) medidas cada cuatro horas en una estación meteorológica. Para hallar el
gráfico, simplemente escriba el comando:
>> plot (v)
[En un recuadro, muestre el resultado y proporcione una breve explicación]

Suponga ahora que se conoce la hora a la que se realizó cada medida y que debe aparecer en el eje
horizontal. Sea t = [4 8 12 16 20 24] el vector que contiene dichos datos, la orden que se requiere es:
>> plot (t,v)
[En un recuadro, muestre el resultado y proporcione una breve explicación]
Puede añadir texto explicativo a los ejes y al propio gráfico. Para ello, escriba:
>> xlabel('hora')
>> ylabel('temperatura')
>> title('Datos estación meteorológica')
[En un recuadro, muestre el resultado y proporcione una breve explicación

2
También se puede superponer gráficos sobre los mismos ejes. Sea w=[16.5 17 17.5 18 16 15] el vector de
otras medidas. Ejecute la orden:
>> plot (t,v,t,w)
[En un recuadro, muestre el resultado y proporcione una breve explicación]
También se puede usar distintos tipos de líneas para la gráfica:
>> plot (t,v, '*')
[En un recuadro, muestre el resultado y proporcione una breve explicación]
Algunos otros comandos para manipular las gráficas son:
‒ texto en el lugar especificado por las coordenadas: >> text(x,y, 'texto')
‒ texto, el lugar lo indicamos después con el ratón: >> gtext('texto')
‒ dibujar una rejilla: >> grid
‒ fija valores máximo y mínimo de los ejes: >> axis([xmin xmax ymin ymax])
‒ fija que la escala en los ejes sea igual: >> axis equal
‒ fija que la gráfica sea un cuadrado: >> axis square
‒ desactiva axis equal y axis square >> axis normal
‒ abre una ventana de gráfico: >> hold on
‒ borra lo que hay en la ventana de gráfico: >> hold off
[Pruebe los comandos con los datos anteriores y en un recuadro, muestre el resultado]
Otros comandos relacionados con las gráficas son los siguientes:

Tabla 4.1: Tipos de gráficas 2D

Otra opción es que, una vez mostrado el gráfico, para cambiar su apariencia, basta pinchar en el último
botón de la barra de herramientas ( ) y se abrirán unos cuadros laterales que permitirán hacer los
cambios deseados.

3
Figura 4.1: Ventana de gráfico
[Investigue las principales herramientas que proporciona la ventana del gráfico. Haga un resumen en un
recuadro]
Una ventana gráfica se puede dividir en m particiones horizontales y en n verticales, de modo que cada
subventana tiene sus propios ejes: Para ello se usa la orden subplot (m,n,p) donde p indica la
subdivisión que se convierte en activa. Ingrese los siguientes comandos:
>> x = 1:360; y1 = sind (x); y2 = cosd (x); y3 = exp (x); y4 = exp (-x);
>> subplot (2,2,1), plot (x,y1), title ('seno')
>> subplot (2,2,2), plot (x,y2), title ('coseno')
>> subplot (2,2,3), plot (x,y3), title ('exponencial')
>> subplot (2,2,4), plot (x,y4), title ('-exponencial')
[En un recuadro, muestre el resultado y proporcione una breve explicación de cada comando]
Para volver al modo por defecto basta escribir: subplot (1,1,1).
Para dibujar polígonos puede usar la función plot teniendo en cuenta que el último punto de ambos
vectores deben coincidir para que el gráfico quede cerrado. Pero si se quiere rellenar el interior del polígono
debe usar la función fill, que tiene tres argumentos, los dos vectores que forman los puntos y un tercer
argumento para indicar el color.
>> x = [-2 0 2 0 -2]; y = [4 8 4 0 4];
>> plot (x,y)
>> fill (x,y,'r')
[En un recuadro, muestre el resultado y proporcione una breve explicación de cada comando]
3.1.2 Representación gráfica de funciones
Aunque también es posible usar el comando plot es preferible usar el comando ezplot. Esta función
tiene la siguiente sintaxis:
ezplot(f,[a,b]) Dibuja la función f(x,y) en el intervalo 𝑎 ≤ 𝑥 ≤ 𝑏 y 𝑎 ≤ 𝑦 ≤ 𝑏. Si se omite,
el intervalo por defecto es −2𝜋 ≤ 𝑥, 𝑦 ≤ 2𝜋
ezplot(f,[xmin,xmax,ymin,ymax]) Dibuja la función f(x,y) en el intervalo 𝑥𝑚𝑖𝑛 ≤ 𝑥 ≤ 𝑥𝑚𝑎𝑥
e 𝑦𝑚𝑖𝑛 ≤ 𝑦 ≤ 𝑦𝑚𝑎𝑥

4
[Lleve a cabo los siguientes comandos. En un recuadro, muestre el resultado y proporcione una breve
explicación]
1. >> ezplot('cos(x)',0,pi)
2. >> ezplot('cos(x*y)',[-pi,pi,-pi,pi])
3. >> f='sin(x)*exp(x)';
>> ezplot(f,[0,pi]);
>> grid on;

3.2 GRAFICOS 3D
3.2.1 Representación gráfica básica
Para este caso, se extiende la orden plot (2D) a plot3 (3D) donde el formato es igual pero los datos están
en tripletes. Ingrese los comandos:
>> x = -720:720; y = sind (x); z = cosd (x);
>> plot3 (x,y,z)
[En un recuadro, muestre el resultado y proporcione una breve explicación de cada comando]
En la ventana del gráfico que aparece, se puede hacer girar la gráfica usando en la barra de herramientas el
botón o hacerla más grande o más pequeña con . Al igual que ocurría con las gráficas en dos
dimensiones, se puede nombrar los ejes o hacer modificaciones entrando en Opciones con el botón .
Si se quiere representar un polígono en 3 dimensiones, se usa la función fill3 de forma similar a fill
pero ahora con 4 argumentos, siendo el cuarto el que indica el color.
>> x = [-2 0 2 0 -2];
>> y = [4 8 4 0 4];
>> z = [3 5 10 5 3];
>> fill3 (x,y,z,'b')
[En un recuadro, muestre el resultado y proporcione una breve explicación de cada comando]
3.2.2 Superficie de malla
La orden [X,Y]=meshgrid(x,y) crea una matriz X cuyas filas son copias del vector x y una matriz Y
cuyas columnas son copias del vector y. Para generar la gráfica de malla se usa la orden mesh(X,Y,Z),
mesh acepta un argumento opcional para controlar los colores. También puede tomar una matriz simple
como argumento: mesh(Z)
>> x = -10:0.5:10; y = -10:0.5:10;
>> [X,Y] = meshgrid (x,y); % crea matrices para hacer la malla
>> Z = sin (sqrt (X .^2 + Y .^2)) ./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
>> mesh (X,Y,Z) % dibuja la gráfica
Hubiera dado igual si se hubiera escrito:
>> [X,Y] = meshgrid (-10:0.5:10);
>> Z = sin (sqrt (X .^2 + Y .^ 2)) ./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
>> mesh (X,Y,Z)
[En un recuadro, muestre el resultado y proporcione una breve explicación de cada comando]
3.2.3 Gráfica de superficie
Es similar a la gráfica de malla, pero aquí se rellenan los espacios entre líneas. La orden que se usa es surf
con los mismos argumentos que para mesh. Considerando el ejemplo anterior, escriba:
>> surf (X,Y,Z)
[En un recuadro, muestre el resultado y proporcione una breve explicación]

5
3.2.4 Gráfica de contorno
Las gráficas de contorno en 2D y 3D se generan usando respectivamente las funciones contour y
contour3.
>> contour (X,Y,Z)
La función pcolor transforma la altura a un conjunto de colores.
>> pcolor (X,Y,Z)
El comando view(az,el) fija el ángulo de visión especificando el azimut y la elevación.
>> surf (X,Y,Z)
>> view (10,70)
El comando view([x,y,z]) coloca la vista en un vector de coordenada cartesiana (x,y,z) en 3-D.
>> surf (X,Y,Z)
>> view ( [10,-12,2] )
El siguiente comando añade la barra de color a la figura actual:
>> colorbar
[En un recuadro, muestre los resultados]

4. TAREA
Para cada uno de los ítems, en un recuadro muestre los resultados y explique.
Tarea 1. Gráficos 2D
1.
>> x= -2.9:0.2:2.9;
>> bar(x,exp(-x.*x));
>> barh(x,exp(-x.*x));
2.
>> y=round(rand(5,3)*10);
>> bar(y,'group');
>> bar(y,'stack');

3.
>> x=0:0.05:10; y=sin(x).*exp(-0.4*x);
>> figure;
>> subplot(3,1,1); plot(x,y); title('plot');
>> subplot(3,1,2);
>> ezplot('sin(x).*exp(-0.4*x)',[0,10]); title('ezplot');
>> subplot(3,1,3);
>> fplot('sin(x).*exp(-0.4*x)',[0,10]); title ('fplot');

4.
>> disp('Texto y ejes en gráficas:')
>> t=0:0.1:2*pi; r=sin(2*t).*cos(2*t);
>> figure; subplot(2,1,1); polar(t,r);
>> title('polar')
>> subplot(2,1,2);
>> fplot('[sin(x),sin(2*x),sin(3*x)]',[0,2*pi],'-','o','*');
>> title('fplot')
>> legend('sin(x)','sin(2*x)','sin(3*x)');

6
5.
>> disp('Título, nombre en ejes, leyenda:')
>> x=linspace(0,2,30); y=sin(x.^2); figure; plot(x,y);
>> text(1,.8,'y=sin(x^2)'); xlabel('Eje X'); ylabel('Eje Y');
>> title('Gráfico senoidal');
>> disp('Subplot, tamaño de letra, tamaño ejes, caja, grid:')
>> x=0:.1:4*pi; y=sin(x); z=cos(x);
>> figure; subplot(1,2,1); plot(x,y);
>> axis([0,2*pi,-1,1]);
>> set(gca,'FontSize',12);
>> grid on; box on;
>> title('sin(x)','FontWeight','bold','FontSize',12);
>> subplot(1,2,2); plot(x,z);
>> axis([0,2*pi,-1,1]); grid on; box on
>> set(gca,'FontSize',12);
>> title('cos(x)','FontWeight','bold','FontSize',12);

Tarea 2. Gráficos 3D
6.
>> z=0:0.01:8; x=cos(z); y=sin(z);
>> figure; fill3(x,y,z,'r');
7.
>> t=0:pi/50:10*pi;
>> figure; plot3(sin(t),cos(t),t); grid on; axis square
>> figure; plot3(sin(t),cos(t),t,'-',cos(t),sin(t),t,'*');
8.
>> figure; y=cool(7);
>> subplot(1,3,1); bar3(y,0.2,'detached');
>> subplot(1,3,2); bar3(y,'grouped');
>> subplot(1,3,3); bar3(y,0.1,'stacked');
9.
>> figure; x=linspace(0,1,10);
>> y=x./2; z=sin(x)+sin(y);
>> stem3(x,y,z,'fill');
10.
>> [X,Y]=meshgrid(-7.5:.5:7.5);
>> Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2);
>> surf(X,Y,Z); figure; surfc(X,Y,Z);
>> figure; surfl(X,Y,Z);
>> contour(Z); contour3(Z,50);

También podría gustarte