Está en la página 1de 29

Capítulo V

Ing. Alcides RAMOS CALCINA

PUNO 2016

Facultad de Ingeniería Estadística e Informática


Campus Universitario - Puno
GRÁFICOS
INTRODUCCIÓN
• El módulo básico de MATLAB ofrece una gama amplia de
opciones a la hora de realizar representaciones gráficas.

• Permite realizar gráficos de curvas planas y superficies,


posibilitando la agrupación y superposición de ellas.

• También es posible trabajar colores, rejillas, marcos, leyendas,


títulos, rótulos, etc., en gráficos.

• Las representaciones de funciones pueden realizarse en


coordenadas implícitas, explicitas y paramétricas.

• MATLAB es, por tanto, un software matemático con elevadas


prestaciones gráficas, lo que lo distingue de muchos otros
paquetes de cálculo simbólico.

Ing. Alcides Ramos C.


1. GRÁFICOS BASICOS 2D
1.1. GRÁFICO DE DATOS

Ing. Alcides Ramos C.


1.1. Gráfico de Datos
Ejemplo 1: Represente en un gráfico de
barras los valores de un vector:

>> y=[3 5 10 1 2]';


>> bar(y)

Ing. Alcides Ramos C.


1.1. Gráfico de Datos
>> y=[3 5 10 1 2]'; 5
>> barh(y)
4

0 1 2 3 4 5 6 7 8 9 10

Ejemplo 2: Represente un gráfico de


 x. x
barras definidas por la función e 1

donde x  [-5, 5] de dos en dos 0.9

decimales. 0.8

0.7

0.6

0.5

0.4
>> x=-5:0.2:5; 0.3
>> y=exp(-x.*x);
0.2
>> bar(x,y)
0.1

0
Ing. Alcides Ramos C. -6 -4 -2 0 2 4 6
1.1. Gráfico de Datos
3000
Ejemplo 3: Consideremos un vector con
10000 puntos aleatorios normales (0,1) y 2500
graficamos el histograma de frecuencias
2000
relativas a dichos puntos.
1500
>> y=randn(10000,1);
1000
>> hist(y)
500

0
-4 -2 0 2 4
1500

También podemos graficar el histograma 1000


anterior con 20 cajas

>> hist(y,20)
500

0
-4 -3 -2 -1 0 1 2 3 4
Ing. Alcides Ramos C.
1.1. Gráfico de Datos
11%
Ejemplo 4: Represente un grafico de sectores 22%

circulares para los valores especificados en el


vector Y.

>> y=randn(10000,1);
33%
>> pie(Y)

28%

6%

Ejemplo 5: A continuación representaremos el


 x. x
grafico escalonado relativo a la función e
para x  [-3, 3] separados por una decima

>> x=-3:0.1:3;
>> stairs(x,exp(-x.^2))

Ing. Alcides Ramos C.


1.1. Gráfico de Datos
Ejemplo 6: Representamos un grafico de
errores para la función de densidad de una
distribución normal (0,1), con variable definida
en 40 puntos entre -4 y 4, siendo definidos los
errores por 40 valores aleatorios uniformes
(0,10).

>> x=-4:0.2:4;
>> y=(1/sqrt(2*pi))*exp(-(x.^2)/2);
>> e=rand(size(x))/10;
>> errorbar(x,y,e)

Ejemplo 7: El ejemplo siguiente representamos


un gráfico de racimo respecto a 100 números
aleatorios normales (0,1).

>> y=randn(100,1);
>> stem(y)

Ing. Alcides Ramos C.


1. GRÁFICOS BASICOS 2D
1.2. GRÁFICO DE FUNCIONES “y = f(x)”

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Ejemplo 8: Queremos dibujar la gráfica de la
función y = sen(x) en el intervalo [0,2].

>> x=0:pi/100:2*pi;
>> y=sin(x);
>> plot(x,y)

Ejemplo 9: Queremos2 dibujar ahora la gráfica


x
de la función y  xe . Definido los valores de x
en el intervalo [-3,3].

>> x=-3:0.01:3;
>> y=x.*exp(-x.^2);
>> plot(x,y)

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Así mismo, se obtendría la misma
representación gráfica mediante el comando
siguiente:

>> fplot('x.*exp(-x.^2)',[-3,3])
>> grid on

Si queremos que aparezca una cuadrícula


sobre el dibujo, utilizaremos el comando grid
on. El aspecto del dibujo sería ahora como el
de la Figura 15. Para desactivar la cuadrícula
habrá que escribir grid off.

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Color y trazo

El comando plot ofrece múltiples posibilidades de color y forma de trazo de


la gráfica.

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Ejemplo 10: Para ilustrar el color y trazo,
y   sen( x)   x
3
grafiqué de la función .
Definido los valores de x en el intervalo [-3,4]
con incrementos de dos decima.

>> x=-3:0.2:4;
>> y=sin(x).^3-x;
>> plot(x,y,'r+');

Ejemplo 11: Ahora grafiqué de la función y  cos  x 


para x en el intervalo [-2,2]

>> fplot('abs(cos(x))',[-2,2],'o')

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Ejes
Los ejes que aparecen por defecto en una gráfica también se pueden modificar. Con el
comando axis([a b c d]), conseguiremos que la gráfica aparezca en la región a  x  2,
y c  y  d.

Ejemplo 12: Representemos el grafico anterior


con nuevos intervalos, para x  [0,2] y y  [-
1,1].

>> fplot('abs(cos(x))',[-2,2],'o')
>> axis([0 2 -1 1])

Zoom
Utilizando el comando >>zoom on. Se puede agrandar la figura o alguna zona
seleccionada de la figura. Hay que abrir la figura y utilizar los botones izquierdo y
derecho del ratón. Para desactivarlo, habría que escribir >>zoom off.

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Título y Etiquetas
MATLAB permite manejar correctamente las anotaciones sobre los gráficos tales
como: títulos, etiquetas, leyendas, etc.

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Ejemplo 13: Grafiquemos de la función:
y   x 2  sen( x)
en el intervalo [-2,5] con las siguientes
características: título, rotulo de los eje, rejilla y
rotulo de la función.

>> x=-2:0.05:5;
>> y=-x.^2+sin(x);
>> plot(x,y,'-')
>> text(2.7,-4,'y=-x^2+sin(x)')
>> title('Gráfico de y=f(x)')
>> xlabel('X')
>> ylabel('Y')
>> grid on

Ing. Alcides Ramos C.


1. GRÁFICOS BASICOS 2D
1.3. GRÁFICO MÚLTIPLES
Se pueden dibujar tantas gráficas como se quieran en una misma figura. Si ya
tenemos dibujada una, y generamos una nueva gráfica, en principio la figura
anterior es sustituida por la nueva. Sin embargo, utilizando el comando >>hold on,
se mantendrá la anterior, con todas sus propiedades, y se podrá dibujar encima
una nueva. Para desactivar el comando anterior: >>hold off.

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Ejemplo 14: En el siguiente ejemplo se representan sobre los mismos ejes las gráficas
de las funciones y  sen( x ) e y  log x ; colocándose el texto de cada ecuación
2

adecuadamente dentro del gráfico, así como el titular del gráfico y de los ejes.

>> x=linspace(0,2,30);
>> y=sin(x.^2);
>> plot(x,y)
>> text(1,0.8,'y=sin(x^2)')
>> %mantiene la fig. anterior
>> hold on
>> z=log(sqrt(x));
>> plot(x,z)
>> text(1,-0.1,'y=log(sqrt(x))')
>> xlabel('Eje X')
>> ylabel('Eje Y')
>> title('Gráfico senoidal y
logarítmico')

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
Ejemplo 15: Otra forma de hacerlo es dibujar desde el principio dos gráficas juntas,
por ejemplo, vamos a dibujar las gráficas de las funciones y  sen( x 2 ) e y  sen  x  3 
; en la misma figura.

>> x=linspace(0,2*pi,300);
>> y=sin(x);
>> z=sin(x+pi/3);
>> hold off
>> plot(x,y,'r-',x,z,'b--')
>> legend('sin(x)','sin(x+pi/3)')
>> xlabel('Eje de Abscisas')
>> ylabel('Eje de Ordenadas')
>> title('Gráficas trigonométricas')

Ejemplo 16: En el ejemplo siguiente se presentan en el mismo grafico (Figura 23) las
gráficas de las funciones Sen(x), Cos(x), Cosec(x) y Sec(x), colocadas en una matriz
de cuatro gráficos, de forma que debajo de cada función este su inversa para x en el
intervalo de [-2,2].

Ing. Alcides Ramos C.


1.2. Gráfico de Funciones
>> subplot(2,2,1); ezplot('sin(x)',[-2*pi,2*pi])
>> subplot(2,2,2); ezplot('cos(x)',[-2*pi,2*pi])
>> subplot(2,2,3); ezplot('csc(x)',[-2*pi,2*pi])
>> subplot(2,2,4); ezplot('sec(x)',[-2*pi,2*pi])

Ing. Alcides Ramos C.


2. GRÁFICOS 3D

Ing. Alcides Ramos C.


2. GRÁFICOS 3D
Nota: Cuando se van a emplear funciones de dos variables, necesitaremos
cruzar una lista de valores (x1, x2, …, xn) con otra (y1, y2, …, yn). Esto lo hace la
orden meshgrid. Si:
x = (x1, x2, …, xn), y = (y1, y2, …, yn)

la instrucción
[u v]=meshgrid(x,y)

devuelve dos matrices con m filas y n columnas

 x1 x2  xn   y1 y2  yn 
x x2  xn  y y2  yn 
u 1 v 1
     
   
 x1 x2  xn   y1 y2  yn 

Así u(i,j) = xj y v(i,j) = yi, Recorriendo en paralelo las matrices u y v se


obtienen, por tanto, todos los pares (xi, yj).

Ing. Alcides Ramos C.


2. GRÁFICOS 3D
Ejemplo 17: Representemos las hélice
paramétrica x(t) = Sen(t), y(t) = Cos(t), z(t) = t
para valores de t entre 0 y 10 separados /50.

>> t=0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t)
>> grid on
>> axis square

Ejemplo 18: Ahora representaremos otra la


función z = f(x,y) haciendo uso de los
comandos siguientes:

>> t=-6:0.2:8;
>> x=t;
>> y=3-t;
>> z=cos(t);
>> plot3(x,y,z)
>> grid on

Ing. Alcides Ramos C.


2. GRÁFICOS 3D
Ejemplo 18: A continuación representamos un polígono compacto mediante la
siguiente sintaxis:

>> t=-6:0.2:8;
>> x=t;
>> y=3-t;
>> z=cos(t);
>> c=[1 0.8 0.1];
>> fill3(x,y,z,c)
>> grid on

Ing. Alcides Ramos C.


2. GRÁFICOS 3D
Ejemplo 19: Representemos la superficie, cuya
ecuación explicita es la siguiente:

z
Sen  x2  y2 
x2  y 2
>> [x,y]=meshgrid(-7.5:0.5:7.5);
>>
z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y
.^2);
>> surf(x,y,z)
>> title('Gráfico en 3D')

Observación: En los siguientes gráficos


simplificaremos el código de la programación:
>> [x,y]=meshgrid(-2:0.2:2)
en remplazo de:

>> xa=-2:0.2:2;
>> ya=-2:0.2:2;
>> [x,y]=meshgrid(xa,ya);

Ing. Alcides Ramos C.


2. GRÁFICOS 3D
Ejemplo 20: A continuación representamos la superficie anterior acompañada de sus
curvas de nivel.

>> [x,y]=meshgrid(-7.5:0.5:7.5);
>> z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2);
>> surfc(x,y,z)
>> title('Gráfico en 3D - curvas de nivel')

Ing. Alcides Ramos C.


2. GRÁFICOS 3D
Ejemplo 21: Continuando con este ejemplo, representamos el gráfico de malla.

>> [x,y]=meshgrid(-7.5:0.5:7.5);
>> z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2);
>> mesh(x,y,z)
>> title('Gráfico en 3D - malla')

Ing. Alcides Ramos C.


2. GRÁFICOS 3D
Ejemplo 22: Y ahora lo representamos con la opción de cortina o telón inferior y le
agregamos algunas características al gráfico.

>> [x,y]=meshgrid(-7.5:0.5:7.5);
>> z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2);
>> meshz(x,y,z)
>> title('Gráfico en 3D - frontera')
>> xlabel('X')
>> ylabel('Y')
>> zlabel('Z')

Ing. Alcides Ramos C.


GRACIAS

También podría gustarte