Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRÁCTICA N° 1: ”GRÁFICOS
EN MATLAB”
Curso:
Campos Electromagnéticos
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.
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.
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')
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(‘ ’)”
6
El comando “plot” también superpone una gráfica sobre otra, añadiendo un nuevo
vector a los comandos.
7
Con el comando “plot(t,v,’*’)” la gráfica nos muestra los puntos de intersección entre
ambos vectores dados.
8
Texto en el lugar especificado por las coordenadas: >> text(x,y,
'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
12
Abre una ventana de gráfico: >> hold on
13
Otros comandos relacionados con las gráficas son los siguientes:
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.
>> x = 1:360; y1 = sind (x); y2 = cosd (x); y3 = exp (x); y4 = exp (-x);
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
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.
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.
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.
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.
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.
23
“contour” realiza un diagrama de contorno mostrándonos las isolíneas de la matriz Z.
24
“pcolor” nos da un gráfico en pseudocolor dado por un conjunto rectangular de celdas con
colores determinados por C.
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:
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');
Explicación:
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');
Explicación:
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)');
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);
Explicación:
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:
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,'*');
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');
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');
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 “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