Está en la página 1de 40

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

FACULTAD DE INGENIERÍAS DE PRODUCCIÓN Y SERVICIOS


ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

PRÁCTICA N° 1: ”GRÁFICOS
EN MATLAB”

Curso:

Campos Electromagnéticos

Docente del curso:

Ing. César Málaga

Semestre:

6° semestre

Integrantes:

CUI
Abel Benjamín Chambi Esquiche 20162942
Francia Leonela García Quiñones 20160372
Alejandro Sucapuca Mamani 20162928
Juan Marcos Vilca Condori 20142262

2018
1. OBJETIVOS
o Conocer comprender y practicar los comandos utilizados para crear gráficas
con Matlab.
o Contrastar y diferenciar los comandos utilizados para gráficas en dos y tres
dimensiones.

2. MARCO TEÓRICO PREVIO


 Gráficos en 2D
A continuación se presentará los principales comandos para este tipo de
gráficos:

 Gráficos en 3D

2
3. DESARROLLO
3.1. GRÁFICOS 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]
Se 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)

3
El comando “plot” nos permite realizar la gráfica del vector V en el espacio en
2D.

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)

4
Añadiendo un vector tiempo, junto con la función “plot”, la gráfica nos muestra
en el punto que exacto entre ambos vectores.

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')

5
Luego de obtener la gráfica anterior, se puede añadir nombre a los ejes y darle un título a la
gráfica con los comandos siguientes “xlabel(‘ ’); ylabel(‘ ’); title(‘ ’)”

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)

6
El comando “plot” también superpone una gráfica sobre otra, añadiendo un nuevo
vector a los comandos.

También se puede usar distintos tipos de líneas para la gráfica:

>> plot (t,v, '*')

7
Con el comando “plot(t,v,’*’)” la gráfica nos muestra los puntos de intersección entre
ambos vectores dados.

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

8
 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')

9
 Dibujar una rejilla: >> grid

10
 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

11
 fija que la gráfica sea un cuadrado: >> axis square

 Desactiva axis equal y axis square >> axis normal

12
 Abre una ventana de gráfico: >> hold on

 Borra lo que hay en la ventana de gráfico: >> hold off

13
Otros comandos relacionados con las gráficas son los siguientes:

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.

Figura 4.1: Ventana de gráfico

14
En el menú insert permite directamente insertar etiquetas en los ejes, leyendas o
títulos entre otras cosas.

En el menú edit aparecen entre otros los comandos figure properties, axes properties y
current object properties, la cual con ellos se abre paso a los editores correspondientes
donde se nos da la posibilidad de cambiar las opciones de dibujo.

15
Las pestañas x,y,z nos permiten actuar sobre cada uno de los ejes, poniendo
etiquetas (label), cambiando el color, cambiando los limites. Desde la pestaña
superior podemos acceder otros editores como las líneas, donde se puede cambiar
las opciones correspondientes.

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')

16
El comando el “subplot” nos permite subdividir la ventana de grafica en un retícula de m filas
y n columnas, por ejemplo, cómo podemos apreciar en la figura se usa el comando
subplot(2,2,1) la ventana se divide en dos filas y dos columnas, y la gráfica se dibuja en la
parte superior izquierda

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')

17
El comando “fill” tiene una función especial la cual es para dibujar polígonos planos,
rellenándolos de un determinado color, en este caso color rojo. La cual está definido
por vectores x e y.

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

ezplot Dibuja la función f(x,y) en el intervalo


(f,[xmin,xmax,ymin,ymax]) e

i. >> ezplot('cos(x)',0,pi)
ii. >> ezplot('cos(x*y)',[-pi,pi,-pi,pi])
iii. >> f='sin(x)*exp(x)';
>> ezplot(f,[0,pi]);
>> grid on;

18
El comando “ezplot” tiene la función de trazar graficas mediante una expresión definida en
este caso de “cero a pi”, lo cual facilita el trazo de las graficas

3.2. GRÁFICOS 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)

19
El comando “plot3” nos permite realizar la graficación de las funciones x, y, z en el espacio en
3D; en este caso, al ingresar los comandos solicitados obtenemos la gráfica de una espiral
simulando un resorte o bobina.

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')

20
El comando “fill3” nos permite graficar polígonos en el espacio 3D por lo que introducimos
las coordenadas (x, y, z) de los puntos que servirán de vértices; cabe resaltar que los últimos
valores de los ejes (x, y, z) deben ser iguales a los primeros para poder completar el polígono.

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)

21
Al utilizar el comando “meshgrid” podemos reproducir los vectores x, y para crear una
cuadricula representada por matrices, definiendo una matriz [X, Y]; mientras que el comando
“mesh” realiza una gráfica de tipo malla de alambre con un color determinado dado por la
altura del valor Z.

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)

22
El comando “surf” nos permite crear una superficie sombreada en 3D donde el valor de Z es
proporcional a cierto color en la gráfica.

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

23
“contour” realiza un diagrama de contorno mostrándonos las isolíneas de la matriz Z.

De similar forma el comando “contour3” nos muestra las isolíneas de la matriz Z en el


espacio 3D.

24
“pcolor” nos da un gráfico en pseudocolor dado por un conjunto rectangular de celdas con
colores determinados por C.

Utilizando el comando “view” de esta forma podemos fijar un ángulo de observación


respecto a las direcciones y la elevación.

25
Utilizando el comando “view” de esta forma podemos observar la gráfica desde un vector
de coordenada cartesiana en 3D, el vector debe ser establecido al ingresar el comando.

26
El comando “colorbar” nos permite agregar una barra de color a la gráfica previamente
obtenida, esto nos permite observar con mayor claridad la relación de los colores con
respecto a la altura Z.

4. ACTIVIDAD DE GRÁFICOS 2D
Para cada uno de los ítems, en un recuadro muestre los resultados y
explique.
a)
>> x= -2.9:0.2:2.9;
>> bar(x,exp(-x.*x));
>> barh(x,exp(-x.*x));

Explicación:

Como se observará en la siguiente imagen, “bar” se utiliza para crear una gráfico de barras
𝑥
verticalmente con una barra para cada elemento de y que en este caso es 𝑒 −𝑥 , es decir, las
barras mostrarán el comportamiento de épsilon.

27
Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

También se observa la gráfica siguiente:

Explicación:

Como se observa en la anterior imagen, “barh” también se utiliza para crear una gráfico de
barras pero en este caso es horizontal. Se puede ver que la posición de los ejes principales (x
𝑥
y y) a cambiado, con una barra para cada elemento de 𝑒 −𝑥 que también las barras
mostrarán el comportamiento de épsilon.

28
b)
>> y=round(rand(5,3)*10);
>> bar(y,'group');
>> bar(y,'stack');

Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

Explicación:

La primera parte donde describe la función se tendrá:

Como se observa, existen 5 filas de tres número cada uno; esto fue lo que se graficó en
barras verticalmente y cada número tiene un color distinto, así como también se ve un
espacio cada 3 barras para así distinguir las filas.

29
También se observa la gráfica siguiente:

Explicación:

Lo que hace “stack” es como una apilación de valores. Los números presentados en las 5 filas
se distinguirán por 3 colores cada una; el primer número de la fila será el de la izquierda y en
la gráfica será el primer color más cercano al eje x.

Como se fijarán las dos gráficas del mismo ejercicio son completamente diferentes; esto se
debe a “rand” ya que este comando toma diferentes número al azar y los agrupa de manera
que forme la matriz que deseamos obtener (n x m) que es este caso serían:

[Tomando como referencia la primera fila: 5 es el color azul oscuro, 7 es el color oscuro y el 3
es el amarillo fuerte]

30
c)
>> 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');

Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

Explicación:

Se tiene una función y esta es graficada de 3 formas diferentes (como se observa en la


imagen):

1. “subplot(m,n,p)” divide la figura en una cuadrícula de m x n y crea ejes en la posición


especificada por p que para este caso fue 3 gráficos en una sola columna.
2. “ezplot(a,b)” traza una función paramétricamente definido por a = ([0,10]) y b =
('sin(x).*exp(-0.4*x)) sobre el rango predeterminado de 0 <= t <= 2 π
3. “fplot(f,x)” traza la función f sobre el intervalo especificado como un vector de dos
elementos con la forma [xmin xmax]. Que para este caso es [0,10]

d)
>> disp('Texto y ejes en gráficas:')

31
>> 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)');

Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

Explicación:

Como en el anterior ejercicio, se utilizará “subplot” para generar dos gráficas en una misma
figura y en una columna. También se utiliza el comando “polar” que efectuará los cálculos en
corrdenadas polares; en cambio, “fplot” solo graficó la función tomando en cuenta
coordenadas cartesianas (x, y).

e)
>> 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');

32
>> 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);

Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

Explicación:

Se observa comandos nuevos:

a) “y = linspace (x1,x2,n)”. Esta genera valores espaciados linealmente n puntos. El


espaciado entre los puntos es (x2-x1)/(n-1); es similar al operador de dos puntos (:)
pero proporciona control directo sobre el número de puntos y siempre incluye los
extremos.
b) “axis” utiliza un estilo predefinido para especifica los límites de los ejes actuales. En
este caso se traza los límites de eje para una onda.

33
También se observa la gráfica siguiente:

Explicación:

Como ya se explicó cómo se pueden observar dos gráficas en una sola figura y si se enumera
las figuras, todas saldrán al mismo tiempo en que corra todo el ejercicio.

Se tienen dos funciones: una sinusoidal y otro cosenoidal que presentan los mismos límites
en cada eje (x y y).

5. ACTIVIDAD DE GRÁFICOS 3D
Para cada uno de los ítems, en un recuadro muestre los resultados y
explique.
f)
>> z=0:0.01:8; x=cos(z); y=sin(z);
>> figure; fill3(x,y,z,'r');

34
Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

Explicación:

El comando “fill3(X,Y,Z,C)” crea sombreados planos y polígonos sombreados por


Gouraud. Para este caso X y Y fueron funciones trigonométricas: seno y coseno ; z
tendrá diversos valores:

35
g) >> 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,'*');

Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

36
Explicación:

El comando “grid on” muestra las principales líneas de cuadrícula para los ejes actuales.

El comando “square” usa líneas de eje con longitudes iguales y ajusta los incrementos entre
las unidades de datos .

Como se observa en la imagen las 3 coordenadas (x, y, z) están en función del tiempo pero
este también está limitado con un punto de paso.

h)
>> 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');

Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

Explicación:

Se puede observar 3 gráficas de barras que están en una sola fila pero en tres columnas
diferentes.

La primera gráfica tiene una peculiaridad y esto se debe al comando “detached” que se
desprende de la cuadrícula (en 3D).

La segunda gráfica presenta en este caso: el comando “grouped” del que ya se explicó;
agrupa según los datos ingresados por filas.

La tercera gráfica tiene el comando “stacked” que actúa como apilador por filas, resultando
n barras de n filas.

37
i)
>> figure; x=linspace(0,1,10);
>> y=x./2; z=sin(x)+sin(y);
>> stem3(x,y,z,'fill');

Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

Explicación:

Se considera el comando “stem3” que traza las entradas en Ztallos que se extienden desde el
plano xy donde Xy Yespecifica las ubicaciones del tallo en el plano xy. El valor de z determina
la altura.

j)
>> [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);

38
Al transcribir el ejercicio a Matlab se observa la gráfica siguiente:

39
Explicación:

Se utiliza el comando “sqrt” devuelve la raíz cuadrada de cada elemento de la matriz X,


produce resultados complejos.

Se utiliza el comando surf (X,Y,Z) crea un diagrama de superficie tridimensional. La función


traza los valores en matriz Z como alturas sobre una grilla en el plano x - y definido por X y Y.
La función también utiliza Z los datos de color, por lo que el color es proporcional a la altura.

Se utiliza el comando “contour (Z)” crea una gráfica de contorno que contiene las isolíneas
de la matriz Z, donde Z contiene valores de altura en el plano x - y. MATLAB ® selecciona
automáticamente las líneas de contorno para mostrar. Los índices de fila y de columna de Z
son la x y y coordenadas en el plano, respectivamente.

40

También podría gustarte