Você está na página 1de 113

MATLAB y Simulink para Ciencia e Ingeniera

Miguel Ataurima Arellano


SESION No.2

ndice general
4. Grficas
4.1. Las Grficas en MATLAB . . . . . . . . . . . . . . . .
4.1.1. Anatoma de las Grficas en MATLAB . . . . . .
4.1.2. Procesos para el trazado de una grfica . . . . .
4.1.3. Creacin de una grfica . . . . . . . . . . . . . .
4.1.4. Algunas Herramientas GUI . . . . . . . . . . . .
4.2. Las Grficas Bidimensionales . . . . . . . . . . . . . . .
4.2.1. Funciones trazadoras de Grficas Bidimensionales
4.2.2. La funcin de trazado lineal bidimensional: plot .
4.2.3. Formatos habituales del comando plot . . . . . .
4.2.4. Gestin de las Propiedades de los objetos grficos
4.2.5. Control de ejes y anotaciones . . . . . . . . . . .
4.2.6. Mltiples ejes en una Ventana figura . . . . . . .
4.2.7. Otras funciones de trazado Bidimensional . . . .
1

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

3
4
4
6
7
9
11
11
12
15
41
52
57
59

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

4.3. Las Grficas Tridimensionales . . . . . . . . . . . . . . .


4.3.1. Funciones trazadoras de Grficas Tridimensionales
4.3.2. Grfica de observaciones tridimensionales . . . .
4.3.3. Grfica de curvas tridimensionales . . . . . . . .
4.3.4. Grfica de superficies tridimensionales . . . . . .

EXPOSITOR: Miguel Ataurima Arellano

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

89
89
90
91
93

mataurimaa@uni.pe

Captulo 4

Grficas

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

4.1.

Las Grficas en MATLAB

4.1.1.

Anatoma de las Grficas en MATLAB

El entorno MATLAB ofrece una variedad de funciones para la grfica de datos adems de herramientas GUI para crear y modificar la visualizacin de las grficas.
Una figura (figure) es una ventana MATLAB que contiene la visualizacin de una grfica (usualmente trazado de datos) y componentes UI.
Un trazado (plot) es cualquier visualizacin grfica, a partir de un conjunto de datos, que se pueda
crear dentro de una ventana figura.
Una grfica (graph) es el conjunto de uno omas trazas en ejes bidimensionales otridimensionales.
Por ejemplo, el siguiente script crea una grfica conteniendo tres curvas.
 grafdemo.m (script)


1
2
3
4
5
6
7

clc;
clear;
x = (0:0.2:20);
y = sin(x)./sqrt(x+1);
y(:,2) = sin(x/2)./sqrt(x+1);
y(:,3) = sin(x/3)./sqrt(x+1);
plot(x,y)

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

y(3,:) = sin(x/3)./sqrt(x+1);
UNIVERSIDAD NACIONAL DE INGENIERA plot(x,y)
Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Ventana figura
(figure)
Eje
(axes)

Trazas de curvas
(plots)

Arellano

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

Procesos para el trazado de una grfica

4.1.2.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Procesos para el trazado de una grfica

Una grfica es la traza de datos, los cuales pueden ser generados por cdigo
Una
grfica es
la ejemplo
traza de datos,
los cuales
pueden
serde
generados
por cdigo MATLAB,
ejemplo
MATLAB,
por
a travs
de una
regla
correspondencia
aplicadaporsobre
un
a travs de una regla de correspondencia aplicada sobre un dominio; o pueden ser importados de alguna
dominio; o pueden ser importados de alguna base de datos, como un archivo de
base de datos, como un archivo de Excel.
Excel.
DATOS

Seabidimensional
bidimensional
o tridimensional,
el proceso
dedetrazado
de una
esta
Sea
o tridimensional,
el proceso
de trazado
una grfica
esta grfica
constituido
por las
constituido
por
las
siguientes
etapas
siguientes etapas:
Creacin
Creacin
degrfica
la grfica
de la
Exploracin de datos
Exploracin de datos
Edicin del grfico
delde
grfico
Edicin
Adicin
anotaciones al grfico
Adicin
Impresin
y Exportacin
de grficas
de anotaciones
al grfico
Adicin y eliminacin de contenido de una ventana figure
Impresin y Exportacin de grficas
Almacenamiento y reutilizacin de grficas (*.fig)
Adicin y eliminacin de contenido de una ventana figure

Cada una de estas etapas se pueden desarrollar a travs de cdigo (funciones y/o
Almacenamiento
y reutilizacin
de grficas que
(*.fig)provee MATLAB.
scripts)
o utilizando
las herramientas

Cada una de estas etapas se pueden desarrollar a travs de cdigo (funciones y/o scripts) o utilizando las
herramientas
que provee MATLAB.

Miguel Ataurima Arellano


mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.1.3.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Creacin de una grfica

Por lo general, la creacin de una grfica implica el desarrollo de los siguientes pasos:
1. Preparar los datos a graficar.
Los datos deben estar en el workspace.
2. Especificar la ventana figura en la que se desea hacer la grfica.
Usando el comando figure.Hace la subdivisin de la grfica en sub-grficas (ejes) si es necesario.
3. Especificar la sub-grfica (eje) en la que se desea hacer la grfica.
Usando el comando subplot.
4. Efectuar el trazado de la grfica.
Usando las funciones trazadoras de grfica bidimensional/tridimensional.
5. Agregar detalles a la grfica .
Legenda, enrejado, ttulo, etiquetas, etc.
6. Estableciendo valores a las propiedades de los objetos que componen la grfica.
Creando manipuladoresa los objetos de la grfica.
Obteniendo/estableciendopropiedades mediantelos comandos get y set.

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD
DE INGENIERA
ub-grfica
(eje)NACIONAL
en la que
se desea hacer la grfica .
Facultad de Ingeniera Elctrica y Electrnica

mando subplot.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

NOTA: Los objetos que componen una grfica en MATLAB son parte de la siguiente Jerarqua de
Objetos
Grficosde grfica bidimensional/tridimensional.
nciones
trazadoras
root

figure

objetos UI

axes

objetos ncleo

objetos de
trazado

Anotaciones
ocultas de ejes

Grupo de
objetos

Anotaciones de
objetos
5

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.1.4.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Algunas Herramientas GUI

Son aquellas que nos permitirn editar las grficas generadas tras la ejecucin de cdigo fuente en
Herramientas
GUI
ventanas figura. Entre ellas tenemos:
de herramientas
las Ventana
figure
Barra
deBarra
herramientas
deGUI
lasde
Ventana
figure
Herramientas
Modo edicin

Barra de colores

Zoom in/out

Legenda

Barra de herramientas de las Ventana figure

Controles de movimiento
Otras
herramientas
(men View)
Cmara

Cmara

Controles de movimiento
de cmara

Pan

Rotador Cursor Pincel Data Link Oculta/Muestra herramientas


3D de Datos de Datos
de trazado

Selector de ejes
principales

Selector de ejes
principales

Tipo de
Proyeccin
iluminacin

Otras herramientas (men View)


Otras herramientas (men View)
Cmara
de cmara

Legenda

Rotador Cursor Pincel Data Link Oculta/Muestra herramientas


3D de Datos de Datos
de trazado

iluminacin

Pan

Barra de colores

Zoom in/out

Modo edicin

Reset y Stop
Tipo de
Proyeccin

Reset y Stop

Edicin de trazas
edicin de propiedades de
objetos grficos

Edicin de trazas
edicin de propiedades de
objetos grficos
EXPOSITOR: Miguel Ataurima Arellano

Fija objetos en una posicin


especfica
Fija objetos en una posicin
especfica
9

Alinea objetos

Alinea objetos

mataurimaa@uni.pe

il
UNIVERSIDAD NACIONAL DE INGENIERA
Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Edicinde
detrazas
trazas
Edicin
edicin de propiedades de
objetos grficos

Fija objetos en una posicin


especfica

Alinea objetos

Miguel Ataurima Arellano

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

10

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

4.2.

Las Grficas Bidimensionales

4.2.1.

Funciones trazadoras de Grficas Bidimensionales

Funciones trazadoras de Grficas Bidimensionales


Linea

Barra
agrupada

apilada

agrupada

apilada

rea

Direccional

Radial

Dispersas
(Scatter)

Miguel Ataurima Arellano

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

11

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.2.2.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

La funcin de trazado lineal bidimensional: plot

La funcin plot es una funcin que grafica sobre un eje (objeto axis) perteneciente a una ventana
figura (objeto figure), una traza, resultante de confrontar un conjunto de datos dado sobre otro.
Para poder utilizar la funcin grfica plot se debe seguir los siguientes pasos:
Preparar los conjuntos de datos por graficar (coordenadas de los puntos a trazar) y cargarlos al
workspace. Estos pueden ser:
Generados por regla de correspondencia. Por ejemplo, mediante:


>> x = (0:pi/4:2*pi);
>> y = sin(x);

Obtenidos desde alguna fuente de datos. Por ejemplo, mediante importacin de datos de una
Bases de Datos externa (como Excel).

EXPOSITOR: Miguel Ataurima Arellano

12

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

La funcin de trazado lineal bidimensional: plot

Una vez cargados los datos en el workspace (ws para abreviar), generar la grfica invocando a la
funcin plot.


>> plot(x,y);




ws
x

0
0.7854
1.5708
2.3562
3.1416
3.9270
4.7124
5.4978
6.2832

0
0.7071
1.0000
0.7071
0.0000
-0.7071
-1.0000
-0.7071
-0.0000

Miguel Ataurima Arellano

aurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

13

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

La funcin plot, procede a desarrollar el trazado de la siguiente manera


En este caso, la funcin plot proceder a desarrollar el trazado uniendo las duplas constituidas por
cada par (x(i),y(i)) con i=1,2,...,9, desde la primera hasta la ltima.
>> plot(x,y);
ws
x

0.7854

0.7071

1.5708

1.0000

2.3562

0.7071

3.1416

0.0000

3.9270

-0.7071

4.7124

-1.0000

5.4978

-0.7071

6.2832

-0.0000

3
2

8
7

Miguel Ataurima Arellano

10

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

14

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.2.3.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Formatos habituales del comando plot

I. Formato bsico: vector vs. vector


Este formato nos permitir obtener la grfica de una u mas trazas sobre un eje.
I Sintxis:
plot( x , y )
:

1
2
:
:
n2

x2, y2 , ... )
:
:

:
:

eje y

1
2
:
n1

eje y

1
2
:
n1

plot( x1, y1 ,

eje x

eje x

Miguel Ataurima Arellano

11

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

15

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Graficar la funcin de densidad de probabilidad normal


1 x 2
1
f (x; , ) = e 2 ( )
2

para el caso en el que = 2, = 1 en el intervalo x [1; 5].


 graf2d001.m (script)


1
2

clc;
clear;

3
4
5
6

% parmetros
mu = 2;
sigma = 1;

7
8
9

% dominio
x = (-1:0.01:5);

10
11
12

% rango
y = exp(-0.5*((x-mu)/sigma).^2)/(sigma*sqrt(2*pi));

13
14
15

%grfica
plot(x,y);

EXPOSITOR: Miguel Ataurima Arellano

16

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
-1

EXPOSITOR: Miguel Ataurima Arellano

17

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

 Observaciones:
Haciendo uso de la funcin pdf del toolbox Statistics, podemos reemplazar la lnea 8 por


y = pdf(Normal, x, mu, sigma);

obteniendo el mismo resultado.


El comando pdf permite graficar las funciones de densidades de probabilidad tStudent, 2 , z,
entre muchas otras. Para mas detalle respecto al comando pdf consulte la ayuda de MATLAB

EXPOSITOR: Miguel Ataurima Arellano

18

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Graficar la senda continua


1
x (t) = e0,8t sin (2t) + 1
2
junto con sus envolventes x1 (t) = 21 e0.8t +1 y x2 (t) = 21 e0.8t +1 en el intervalo de tiempo t [0; 10]
 graf2d002.m (script)


1
2

clc;
clear;

3
4
5

% dominio
t = (0:0.01:10);

6
7
8

% senda
x = 0.5*exp(-0.8*t).*sin(2*pi*t) + 1;

9
10
11
12

% envolventes
x1 = 0.5*exp(-0.8*t) + 1;
x2 = -0.5*exp(-0.8*t) + 1;

13
14
15

% grafica
plot(t,x,t,x1,t,x2);

EXPOSITOR: Miguel Ataurima Arellano

19

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

1.5

0.5

EXPOSITOR: Miguel Ataurima Arellano

20

10

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modificar el cdigo anterior de manera que:


Los rtulos de los ejes x e y sean tiempo y x(t), x1 (t), x2 (t) respectivamente.
El ttulo de la grfica sea Senda x(t) y sus envolventes
Aparezca una leyenda que permita distinguir las curvas obtenidas
El grfico resultante deber ser similar al siguiente
Senda x(t) y sus envolventes
1.5

x(t), x 1(t), x 2(t)

Senda: x(t)
Envolvente: x 1(t)
Envolvente: x 2(t)

0.5

10

tiempo

EXPOSITOR: Miguel Ataurima Arellano

21

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

 graf2d003.m (script)

1
2

clc;
clear;

3
4
5

% dominio
t = (0:0.01:10);

6
7
8

% senda
x = 0.5*exp(-0.8*t).*sin(2*pi*t) + 1;

9
10
11
12

% envolventes
x1 = 0.5*exp(-0.8*t) + 1;
x2 = -0.5*exp(-0.8*t) + 1;

13
14
15

% grafica
plot(t,x,t,x1,t,x2);

16
17
18
19

% rotulos en los ejes


xlabel(tiempo);
ylabel(x(t), x_1(t), x_2(t));

20
21
22

% ttulo
title(Senda x(t) y sus envolventes);

23

EXPOSITOR: Miguel Ataurima Arellano

22

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

24
25

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

% leyenda
legend(Senda: x(t), Envolvente: x_1(t), Envolvente: x_2(t));

 Observacin:
Los temas concernientes a rtulos, ttulos, legenda, control de sistema de ejes, etc. sern visto mas
adelante en este captulo.

EXPOSITOR: Miguel Ataurima Arellano

23

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

II. Formato con especificadores


Toda traza en MATLAB posee marcadores ubicados en cada uno de los puntos dato y lneas que
unen dichos marcadores. Las lneas poseen estilos y colores, los marcadores tipos y colores. La forma de
especificarlos es a travs de una cadena de texto (linespec) que es pasada como un argumento adicional
luego de cada conjunto de datos.
I Sintxis:
plot( x1, y1, linespec1, ... )
linespec1, es una cadena que contiene uno o mas caracteres cada uno de los cuales
representa a un especificador, los cuales pueden ser del tipo lnea, del tipo marcador y/o
del tipo color
TIPO LNEA

TIPO MARCADOR

Especificador

Estilo de lnea

Especificador

Tipo de Marcador

Lnea slida (default)

Signo mas

--

Lnea guin

Crculo

Lnea punteada

Asterisco

-.

Lnea punto-guin

Punto

TIPO COLOR

Cruz

'square' o s

Cuadrado

Especificador

Color

'diamond' o d

Diamante

Rojo

Triangulo apuntando hacia arriba

Verde

Tringulo apuntando hacia abajo

Azul

>

Tringulo apuntado a la derecha

Cyan

<

Tringulo apuntando a la izquierda

Magenta

'pentagram' o p

Estella de cinco puntas

Amarillo

'hexagram' o h

Estrella de seis puntas

Negro

Blanco

Miguel Ataurima Arellano

13

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

24

mataurimaa@uni.pe

UNIVERSIDAD
linespec1,
es una cadena que contiene uno o mas caracteres
cada uno de los cuales
NACIONAL DE INGENIERA
MATLAB & Simulink para Ciencia e Ingeniera
representa
a unElctrica
especificador,
Facultad
de Ingeniera
y Electrnica los cuales pueden ser del tipo lnea, del tipo marcador y/oNIVEL I
del tipo color
TIPO LNEA

TIPO MARCADOR

Especificador

Estilo de lnea

Especificador

Tipo de Marcador

Lnea slida (default)

Signo mas

--

Lnea guin

Crculo

Lnea punteada

Asterisco

-.

Lnea punto-guin

Punto

TIPO COLOR

Cruz

'square' o s

Cuadrado

Especificador

Color

'diamond' o d

Diamante

Rojo

Triangulo apuntando hacia arriba

Verde

Tringulo apuntando hacia abajo

Azul

>

Tringulo apuntado a la derecha

Cyan

<

Tringulo apuntando a la izquierda

Magenta

'pentagram' o p

Estella de cinco puntas

Amarillo

'hexagram' o h

Estrella de seis puntas

Negro

Blanco

Miguel Ataurima Arellano

13

ataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

25

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un script que grafique la trayectoria


(

x1 (t) =

2,
2et + 8,

t=0
; x2 (t) =
t>0

2,
t=0
4t
t
12e
+ 6e + 8, t > 0

con un desplazamiento en el tiempo hasta t = = 2 . Considere un intervalo de tiempo t [0; 10].


 graf2d005.m (script)

1
2

clc;
clear;

3
4
5

% Dominio
t = (0:0.01:10);

6
7
8

% Instante de cambio
tau = 2;

9
10
11
12

% Funcion annima que modela la senda


f = @(t) 2*exp(-t) + 8;
g = @(t) -12*exp(-4*t) + 6*exp(-t) + 8;

13
14
15
16

% Trayectoria inicia en t=tau


x1 = f(t-tau);
x2 = g(t-tau);

17

EXPOSITOR: Miguel Ataurima Arellano

26

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

18
19
20

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

% Restriccin: para t<=tau se tiene que:


x1(t<=tau) = 2;
x2(t<=tau) = 2;

21
22
23
24
25

% Grfica
plot(t, x1, ...
% x1(t)
t, x2, --,... % x2(t)
[0 10], [8 8], :k); % ss

26
27
28
29
30

axis([0 10 0 12]);
xlabel(tiempo);
ylabel(x_1(t), x_2(t))
legend(x_1(t), x_2(t));

EXPOSITOR: Miguel Ataurima Arellano

27

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

12
x 1(t)
10

x 2(t)

x 1(t), x 2(t)

8
6
4
2
0

5
tiempo

10

 Observacin:
Para establecer los extremos de visualizacin del eje hemos utilizado la funcin axis (lnea 27) cuya
sintxis para grficas en dos dimensiones es
axis([xmin xmax ymin ymax])

EXPOSITOR: Miguel Ataurima Arellano

28

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Basndose en el ejemplo anterior realice los cambios necesario al script para obtener la
grfica de
(
(
10,
t=0
10,
t=0
x1 (t) =
; x2 (t) =
t
t
4t
2e + 4, t > 0
4e + 10e
+ 4, t > 0
con un desplazamiento en el tiempo hasta t = = 2 . Considere un intervalo de tiempo t [0; 10]. La
grfica resultante deber ser similar a la siguiente:
12
x 1(t)
10

x 2(t)

x 1(t), x 2(t)

8
6
4
2
0

EXPOSITOR: Miguel Ataurima Arellano

5
tiempo

29

10

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

III. Formato con establecimiento de propiedades


I Sintxis:
plot( ... , 'propiedad1' , 'valor1' , ... )
Permite establecer valores a determinadas propiedades de la traza:
Color, LineStyle, LineWidth, Marker, MarkerSize, MarkerEdgeColor,
MarkerFaceColor, XData, YData, ZData, Type, etc.

plot( y1 sobre
)
plot(
Y1 )de establecer consulte la documenPara mayor informacin
las propiedades y valores
posibles
1
1
tacin.
2
:
n1

...

eje y

eje y

2
:
n1

1 2 k .. n1

1 2 k .. n1
eje x

eje x

Miguel Ataurima Arellano

23

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

30

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un script que grafique la funcin


f (x) = tan(sin(x)) sin(tan(x))
para un intervalo de tiempot [; ]. Utilice una lnea de trazado especificando el grosor, asi como el
color y tamao del marcador.
 graf2d007.m (script)


1
2

clc;
clear;

3
4
5

% Dominio
x = (-pi:pi/10:pi);

6
7
8

% Rango
y = tan(sin(x)) - sin(tan(x));

9
10
11
12
13
14

% Grfica
plot(x,y,--s,LineWidth, 2,...
MarkerEdgeColor, r,...
MarkerFaceColor, w,...
MarkerSize, 8);

15
16
17
18

% Detalles
xlabel(eje X);
ylabel(eje Y);

EXPOSITOR: Miguel Ataurima Arellano

31

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

19

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

legend(f(x))

3
f(x)
2

eje Y

1
0
-1
-2
-3
-4

-3

EXPOSITOR: Miguel Ataurima Arellano

-2

-1

0
eje X

32

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un script que grafique la sucesin


xt = 4 (0,7)t + 5
para un intervalo de tiempot [0; 20]. Utilice una lnea de trazado especificando el grosor, asi como el
color y tamao del marcador.

EXPOSITOR: Miguel Ataurima Arellano

33

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

 graf2d008.m (script)

1
2

clc;
clear;

3
4
5

% Dominio
t = (0:20);

6
7
8

% Regla de correspondencia de la sucesin


x = 4*(-0.7).^t + 5;

9
10
11
12
13
14
15
16
17
18
19

% Grfica
plot(t,x, bs--, LineWidth, 2,...
MarkerEdgeColor, none,...
MarkerFaceColor, k,...
MarkerSize, 6);
% Detalles
grid on;
axis([0 20 0 10]);
xlabel(tiempo);
ylabel(x(t));

EXPOSITOR: Miguel Ataurima Arellano

34

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

10
9
8
7

x(t)

6
5
4
3
2
1
0

EXPOSITOR: Miguel Ataurima Arellano

10
tiempo

35

12

14

16

18

20

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

IV. Formato con un solo argumento


Si el argumento de entrada es un vector (y) entonces la traza obtenida ser la de los ndices versus
valors del vector.
traza: (i, yi ) para i = 1, 2, ..., n
Si el argumento de entrada es una matriz (Y) entonces las trazas obtenidas sern las de los ndices
versus cada uno de los valores de las columnas de la matriz.
traza 1: (i, Y1,i ) para i = 1, 2, ..., n

traza 2: (i, Y2,i,) 'valor1'


para i = 1, 2,
n )
plot( ... , 'propiedad1'
, ...,
...

I Sintxis:

..
..
Permite establecer valores
a determinadas propiedades
de la traza:
.
.
Color, LineStyle, LineWidth, Marker, MarkerSize, MarkerEdgeColor,
MarkerFaceColor, XData, YData, ZData, Type, etc.

plot( y )

1
2
:
n

...

eje y

eje y

1
2
:
n

plot( Y )

1 2 k .. n

1 2 k .. n

eje x

eje x

Miguel Ataurima Arellano

23

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

36

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

V. Formato vector vs. matriz


Aqu el primer argumento es un vector y el segundo una matriz. Este caso extiende el formato bsico
graficando el vector dado como primer argumento versus cada una de las columnas de la matriz.
I Sintxis:
plot( x , Y )
:

eje y

1
2
:
n1

...

NOTA:
Cada vez que la funcin plot sea
invocada:

Si existen ventanas figuras presentes


entonces plot trazar la(s) curva(s) y/o
conjuto(s) de muestra(s) en la ltima ventan
figura referenciada (utilizada) a la cual
MATLAB denomina figura actual (current
figure)
Si no existe ni una ventana figura entonces
plot crear una en la cual trazar la(s)
curva(s) y/o conjuto(s) de muestra(s).

eje x

Miguel Ataurima Arellano


mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

37

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un script que grafique las funciones


f1 (x) = x
f2 (x) = x2
f3 (x) = x3
para un intervalo x [2; 2]. Los datos en el eje y no debern ser mayores en valor absoluto a 2.
 graf2d011.m (script)


1
2

clc;
clear;

3
4
5

% Dominio
x = (-2:0.001:2);

6
7
8
9

% Matriz Rango
% Cada columna contiene una regla de correspondencia
Y = [x x.^2 x.^3];

10
11
12
13

% Eliminamos todos los valores en la matriz Y


% que esten fuera de [-2;2]
Y(abs(Y)>2) = NaN;

14
15
16

% Grfica
plot(x, Y);

EXPOSITOR: Miguel Ataurima Arellano

38

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

17
18
19
20
21
22
23
24

% Detalles
grid on;
xlabel(eje X);
ylabel(eje Y);
legend(y=x, y=x^2, y=x^3);
axis equal;
axis([-2 2 -2 2]);

EXPOSITOR: Miguel Ataurima Arellano

39

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

2
1.5
1

eje Y

0.5
0
-0.5
-1

y=x
y=x 2
y=x 3

-1.5
-2
-2

EXPOSITOR: Miguel Ataurima Arellano

-1.5

-1

-0.5

0
eje X

40

0.5

1.5

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.2.4.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Gestin de las Propiedades de los objetos grficos

Cuando se crea una grfica a travs del comando plot, se crean un conjunto de objetos grficos:
Ventana Figure(figure), Ejes(axes) y Trazas(objetos trazados). Cada uno de ellos poseen propiedades que
pueden obtenerse o establecerse a travs de los comandos get y set respectivamente.
I Sintxis:
Para crear un manipulador de las trazas (h) de una grfica basta con asignar a una variable la salida
del comando plot


h = plot( ... )

EXPOSITOR: Miguel Ataurima Arellano

41

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Gestin de las Propiedades de los objetos grficos

Se crearn siguientes objetos grficos:

h = plot( ...)
gcf retorna el objeto figure actual
Cuando se crea una grfica a travs del comando plot, se crean un conjunto de objetos
Ventana
Figure(figure),
Ejes(axes)
y Trazas(objetos
trazados). Cada uno de ellos
gca retornagrficos:
el objeto
axis actual
(contenido
en el objeto
figure)
poseen propiedades que pueden obtenerse o establecerse a travs de los comandos get y set
h contiene respectivamente
el objeto de trazado retornado por el comando plot

12

12

h(1)

h(2)

h(3)

trazas
(h)

3
0

ejes
(gca)

figura
(gcf)

Miguel Ataurima Arellano

26

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

42

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

y adems:
Para obtener todas las propiedades de un objeto:

M = get(objeto)

Para obtener una sola propiedad de ub objeto:




M = get(objeto,Propiedad)

Para establecer un nuevo valor de propiedad de un objeto




set(objeto,Propiedad,valor)

EXPOSITOR: Miguel Ataurima Arellano

43

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Una forma de averiguar de manera interactiva las propiedades de un objeto es dndo clic en el
(Show Plot Tools and Dock Figure)
botn

EXPOSITOR: Miguel Ataurima Arellano

44

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Para editar las propiedades de la segunda traza habr que elegir del panel Plot Browser el tercer
objeto y luego deberemos dar clic en el botn More Properties... del Panel Property Editor, que en
su ttulo compartir el tipo de objeto seleccionado Property Editor - Lineseries.
Realizada esta accin se aperturar la ventana Inspector indicando en su barra de ttulo el tipo de
grfica (graph2d) asi como el tipo de objeto seleccionado (Lineseries): graph2d.lineseres

EXPOSITOR: Miguel Ataurima Arellano

45

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

EXPOSITOR: Miguel Ataurima Arellano

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

46

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modifique el script graf2d007.m estableciendo las propiedades de las trazas mediante el uso
de un manipulador grfico.
 graf2d013.m (script alternativo a graf2d007.m)

1
2

clc;
clear;

3
4
5

% Dominio
x = (-pi:pi/10:pi);

6
7
8

% Rango
y = tan(sin(x)) - sin(tan(x));

9
10
11
12
13
14
15
16
17

% Grfica
h = plot(x,y);
set(h, LineStyle, --, ...
Marker, s, ...
LineWidth, 2,...
MarkerEdgeColor, r,...
MarkerFaceColor, w,...
MarkerSize, 8);

18
19
20

% Detalles
xlabel(eje X);

EXPOSITOR: Miguel Ataurima Arellano

47

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

21
22

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

ylabel(eje Y);
legend(f(x))

EXPOSITOR: Miguel Ataurima Arellano

48

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modifique el script graf2d003.m estableciendo las propiedades de las envolventes como lneas
con guines y la senda como lnea contnua de color azul, mediante el uso de un manipulador grfico.
 graf2d014.m (script alternativo a graf2d003.m)

1
2

clc;
clear;

3
4
5

% dominio
t = (0:0.01:10);

6
7
8

% senda
x = 0.5*exp(-0.8*t).*sin(2*pi*t) + 1;

9
10
11
12

% envolventes
x1 = 0.5*exp(-0.8*t) + 1;
x2 = -0.5*exp(-0.8*t) + 1;

13
14
15

% grafica
h = plot(t,x,t,x1,t,x2);

% h es un vector columna de 3 elementos

16
17
18
19

% establecemos propiedades de la 2da. y 3era. traza


set(h(2:3), LineStyle, --, ...
Color, k);

20

EXPOSITOR: Miguel Ataurima Arellano

49

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

21
22

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

% establecemos la propiedad LineWidth a las tres trazas


set(h, LineWidth, 2);

23
24
25
26

% rotulos en los ejes


xlabel(tiempo);
ylabel(x(t), x_1(t), x_2(t));

27
28
29

% ttulo
title(Senda x(t) y sus envolventes);

30
31
32

% leyenda
legend(Senda: x(t), Envolvente: x_1(t), Envolvente: x_2(t));

EXPOSITOR: Miguel Ataurima Arellano

50

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Senda x(t) y sus envolventes


1.5
Senda: x(t)
Envolvente: x 1(t)
Envolvente: x 2(t)

1.4
1.3

x(t), x 1(t), x 2(t)

1.2
1.1
1
0.9
0.8
0.7
0.6
0.5

EXPOSITOR: Miguel Ataurima Arellano

5
tiempo

51

10

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.2.5.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Control de ejes y anotaciones

Para el control de ejes tenemos:


axis([xmin xmax ymin ymax])

Establece los lmites para los ejes x e y del actual eje.


axis([xmin xmax ymin ymax zmin zmax cmin cmax])

Igual que el anterior mas los lmites de escalamiento de color


v = axis

Retorna un vector fila conteniendo los factores de escala de los ejes.


axis auto

Establece los lmites del actual eje basndose en los valores mnimos y mximos de los datos.
axis tight

Establece los limites de los ejes al rango de los datos


axis ij

Establece el origen del sistema de coordenadas en la esquina superior izquierda. El eje i es vertical,
con valores crecientes de arriba a abajo. El eje j es horizontal con valores crecientes de izquierda a
derecha
axis xy

EXPOSITOR: Miguel Ataurima Arellano

52

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Dibuja el grfico en formato de ejes cartesianos por defecto con el origen del sistema de coordenadas
en la esquina inferior izquierda. El eje x es horizontal con valores crecientes de izquierda a derecha.
El eje y es vertical con calores crecientes de abajo hacia arriba.
axis equal

Establece la proporcin entre la anchura y la altura de la traza (aspect ratio) de manera que las
unidades de los datos son las mismas en toda direccin.
axis image

Funciona igual que axis equal excepto que la caja de la traza se ajusta de manera ceida alrededor
de los datos.
axis square

hace cuadrada la regin del actual eje.


axis normal

Ajusta automticamente el proporcin de aspecto de los ejes y el escalamiento relativo de las


unidades de dato de manera que la traza se ajuste a la forma de la figura tan bien como sea posible.
axis off

Desactiva las lneas de los ejes, marcadores tick, y etiquetas.


axis on

Activa las lneas de los ejes, marcadores tick, y etiquetas.

EXPOSITOR: Miguel Ataurima Arellano

53

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

axis(axes_handles,...)

Aplica el comando axis a ejes especficos.


xlim([xmin xmax]) ylim([ymin ymax])

Establece los lmites de los ejes en x e y respectivamente.


Para el control de anotaciones tenemos:
title(cadena)

Muestra la cadena en la parte superior-centro del eje actual.


title(axes_handle,...)

Aade el titulo a los ejes especificados.


title(... ,Propiedad,valor,...)

Funciona igual que las anteriores aadiendo la posiblidad de especificar pares propiedad/valor.
xlabel(cadena) ylabel(cadena)

Etiqueta los ejes x e y respectivamente.


legend(cadena1, cadena2,...)

Muestra una leyenda en el actual eje usando las cadenas especificadas para etiquetar cada conjunto
de datos en el orden en que han sido trazados.
text(x,y,cadena)

Aada la cadena en la posicin especificada por el punto (x,y), x e y deben ser nmeros double.
EXPOSITOR: Miguel Ataurima Arellano

54

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

text(x,y,cadena,Propiedad,valor,...)

Funciona igual que la anterior aadiendo la posiblidad de especificar pares propiedad/valor.


texlabel(f)

Convierte la expresin MATLAB f en un equivalente TEX / LATEX para usarlo en cadenas de texto.
Generalmente se usa en como cadena con la funcin text.
datetick(tickaxis,dateform)

Formatea las etiquetas de las lneas tick de un eje usando fechas, reemplazando las etiquetas
numricas por defecto. tickaxis es la cadena x, y o z. Por defecto es x. datetick selecciona un
formato de etiqueta basado en los lmites mnimo y mximo de los ejes especificados. dateform es
un entero que especifica el formato de las etiqueta.
[x,y]=ginput(n)

Permite seleccionar n puntos del actual eje cuyas coordenadas x e y son retornadas en los vectores
columna x e y respectivamente. Se puede finalizar el ingreso de los puntos presionando la tecla
Enter.
[x,y]=ginput

Igual que el anterior pero permitiendo seleccionar los puntos hasta presionar la tecla Enter.
gtext(cadena)

Espera a que se presione un botn del ratn o del teclado mientras el puntero esta dentro de la
ventana figura. Ubica el texto especificado por cadena en la posicin en donde se presione un botn
del ratn o presione cualquier tecla.
EXPOSITOR: Miguel Ataurima Arellano

55

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

clabel(C,h,Propiedad,valor,...)

alterna las etiquetas e las inserta en las lneas de contorno. La funcin inserta solo aquellas etiquetas
que se ajustan al interior del contorno, dependiendo del tamao del contorno. Se pueden especificar
pares propiedad/valor
datetick(tickaxis,dateFormat)

Formatea las etiquetas conforme la cadena dateFormat.


legend(string1,string2,...)

Muestra una leyenda en los ejes actuales usando las cadenas especificadas que etiquetarrn cada
conjunto de datos.

EXPOSITOR: Miguel Ataurima Arellano

56

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.2.6.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Mltiples ejes en una Ventana figura

Para crear mltiples ejes en una venta figura, o dicho de otra manera, dividir la actual figura en
ejes dispuestos en una distribucin de m filas por n columnas se utiliza la funcin subplot


h = subplot(m,n,p)

Esta funcin permite elegir el objeto eje p-simo como eje actual retornando un manipulador de

Mltiples ejes
ejesh.en una Ventana figura
Para crear mltiples ejes en una venta
figura, o dicho de otra manera, dividir la
actual figura en ejes dispuestos en una
distribucin de m filas por n columnas se
utiliza la funcin subplot
h = subplot(m,n,p)
La cual permite elegir el objeto eje p-simo
como eje actual retornando un manipulador
de ejes h.

n+1

n+2

n-1

n+(n-1)

2n

(m-1)n+(n-1)

mn

m
filas
p

NOTAS:

(m-1)n+1

Cada eje es numerado por filas de izquierda a


derecha a partir de 1 hasta mn.
Cada vez que se especifica un eje actual, toda
ejecucin de algn comando de graficacin, por
ejemplo plot, se ejecutar en dicho eje.

(m-1)n+2

n
columnas

subplot(m,n,p)
plot(x,y)

Miguel Ataurima Arellano

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

57

31

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Observaciones:
Cada eje es numerado por filas de izquierda a derecha a partir de 1 hasta mn.
Cada vez que se especifica un eje actual, toda ejecucin de algn comando de graficacin, por
ejemplo plot, se ejecutar en dicho eje.

EXPOSITOR: Miguel Ataurima Arellano

58

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.2.7.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Otras funciones de trazado Bidimensional

I) Histogramas
MATLAB cuenta con la funcin hist para la grfica de histogramas. A continuacin se explican las
sintxis de hist mas utilizadas
hist(data) crea un trazado de barras del tipo histograma a partir de data. Los elementos en

data son ordenados en 10 contenedores igualmente espaciados sobre el eje x entre el mnimo y el
mximo valor de data. Los contenedores son mostrados como rectngulos tales que la altura de
cada rectngulo indica el nmero de elementos en el contenedor.

hist(data, ncontenedore) ordena los datos dentro del numero de contenedores especificado por

ncontenedores.

hist(data, xcenters) ordena los datos en un numero de contenedores determinado por length(xcenters).

Los valores en xcenters especifican los centros para cada contenedor sobre el eje x.

nelements = hist(___) retorna un vector fila, nelements, indicando el nmero de elementos en

cada contenedor.

[nelements, xcenters] = hist(___) retorna un vector fila adicional, xcenters, indicando la localizacin de cada centro contenedor sobre el eje x. Para trazar el histograma, se debe usar
bar(xcenters, nelements).

EXPOSITOR: Miguel Ataurima Arellano

59

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un script que graque una secuencia gaussiana


yt N (0, 1)
y su respectivo histograma con subintervalos centrados entre -4 y 4 con un paso de 0.5.
 graf2d017.m (script)


clc; clear;

2
3
4
5

% Talla de la muestra
T = 1000;
t = (1:T);

6
7
8

% Semilla
rand(seed,12345);

9
10
11

% Valores centrales
xc = (-4:0.5:4);

12
13
14

% Vector aleatorio y~N(0,1)


x = randn(T,1);

15
16
17
18

% Grafica del vector y


subplot(2,1,1);
plot(t,x, LineWidth, 2);

EXPOSITOR: Miguel Ataurima Arellano

60

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

19
20
21
22
23

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

title(Secuencia Gaussiana: y_t ~ N(0,1));


xlabel(tiempo);
ylabel(y_t);
grid on;
set(gca, FontSize, 8);

24
25
26
27
28
29
30
31

% Grafica de Histograma
subplot(2,1,2);
hist(x,xc);
title(Histograma de y_t);
xlabel(y_t);
grid on;
set(gca, FontSize, 8);

EXPOSITOR: Miguel Ataurima Arellano

61

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Secuencia Gaussiana: y t ~ N(0,1)


4

yt

-2

-4

100

200

300

400

500
tiempo

600

700

800

900

1000

Histograma de y t
200

150

100

50

0
-5

-4

-3

EXPOSITOR: Miguel Ataurima Arellano

-2

-1

0
yt

62

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modicar el script anterior de manera que el color de las barras sea azul y el de los bordes
sea blanco.
 graf2d018.m (script)

clc; clear;

2
3
4
5

% Talla de la muestra
T = 1000;
t = (1:T);

6
7
8

% Semilla
rand(seed,12345);

9
10
11

% Valores centrales
xc = (-4:0.5:4);

12
13
14

% Vector aleatorio y~N(0,1)


x = randn(T,1);

15
16
17
18
19
20

% Grafica del vector y


subplot(2,1,1);
plot(t,x);
title(Secuencia Gaussiana: y_t ~ N(0,1));
xlabel(tiempo);

EXPOSITOR: Miguel Ataurima Arellano

63

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

21
22

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

ylabel(y_t);
grid on;

23
24
25
26
27
28
29
30
31
32
33
34
35
36

% Grafica de Histograma
subplot(2,1,2);
hist(x,xc);
h = findobj(gca,Type,patch);
set(h, FaceColor, b, ...
EdgeColor, w);
title(Histograma de y_t);
xlabel(y_t);
grid on;
% Superponemos la Grafica de los puntos centrales
hold on;
plot(xc,zeros(size(xc)), .r);
hold off;

EXPOSITOR: Miguel Ataurima Arellano

64

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Secuencia Gaussiana: y t ~ N(0,1)


4

yt

-2

-4

100

200

300

400

500
tiempo

600

700

800

900

1000

Histograma de y t
250
200
150
100
50
0
-5

-4

-3

EXPOSITOR: Miguel Ataurima Arellano

-2

-1

0
yt

65

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modicar el script anterior de manera que se grafique el histograma considerando el intervalo
de variacin de x dividido en 20 subintervalos.
 graf2d020.m (script)

clc; clear;

2
3
4
5

% Talla de la muestra
T = 1000;
t = (1:T);

6
7
8

% Semilla
rand(seed,12345);

9
10
11

% Vector aleatorio y~N(0,1)


x = randn(T,1);

12
13
14
15
16
17
18
19

% Grafica del vector y


subplot(2,1,1);
plot(t,x);
title(Secuencia Gaussiana: y_t ~ N(0,1));
xlabel(tiempo);
ylabel(y_t);
grid on;

20

EXPOSITOR: Miguel Ataurima Arellano

66

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

21
22
23
24
25
26
27

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

% Grafica de Histograma
subplot(2,1,2);
nsub = 20;
hist(x, nsub);
title(Histograma de y_t);
xlabel(y_t);
grid on;

EXPOSITOR: Miguel Ataurima Arellano

67

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Secuencia Gaussiana: y t ~ N(0,1)


4

yt

-2

-4

100

200

300

400

500
tiempo

600

700

800

900

1000

Histograma de y t
150

100

50

0
-4

-3

EXPOSITOR: Miguel Ataurima Arellano

-2

-1

0
yt

68

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

II) bar
MATLAB cuenta con la funcin bar para la grfica de barras. A continuacin se explican las sintxis
de bar mas utilizadas:
bar(Y) muestra una barar para cada elemento en Y.
bar(x,Y) muestra barras para cada columna en Y en las ubicaciones especificadas en x.
bar(___,width) establece el ancho de barra relativo y controla la separacin de barras dentro de
un grupo y puede incluir cualquiera de los argumentos de entrada de las sintxis previas.
bar(___,style) especifica el estilo de las barras y puede incluir cualquiera de los argumentos de
entrada de las sintxis previas.
bar(___,bar_color) muestra todas las barras usando el color especificado por la abreviacin letra

simple de bar_color y puede incluir cualquiera de los argumentos de entrada de las sintxis previas.
bar(___,Name,Value) fija los nombres de las propiedades con los valores especificados y puede
incluir cualquiera de los argumentos de entrada de las sintxis previas.

Nota: No se peude especificar nombres y valores cuando usando las opciones hist o histc.
bar(axes_handle,___) traza dentro de los ejes con el manipulador axes_handle en vez del actual

eje (gca).

h = bar(___) retorna un vector de manipuladores a los objetos grficos barseries, uno por cada

creado.

EXPOSITOR: Miguel Ataurima Arellano

69

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modicar el script anterior de manera que la grfica del histograma se realice mediante barras.
 graf2d019.m (script)

clc; clear;

2
3
4
5

% Talla de la muestra
T = 1000;
t = (1:T);

6
7
8

% Semilla
rand(seed,12345);

9
10
11

% Valores centrales
xc = (-4:0.5:4);

12
13
14

% Vector aleatorio y~N(0,1)


x = randn(T,1);

15
16
17
18
19
20
21

% Grafica del vector y


subplot(2,1,1);
plot(t,x);
title(Secuencia Gaussiana: y_t ~ N(0,1));
xlabel(tiempo);
ylabel(y_t);

EXPOSITOR: Miguel Ataurima Arellano

70

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

22

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

grid on;

23
24
25
26
27
28
29
30

% Grafica de Histograma
subplot(2,1,2);
[n, xout] = hist(x,xc);
bar(xout,n);
title(Histograma de y_t);
xlabel(y_t);
grid on;

31
32
33
34
35

% Superponemos la Grafica de los puntos centrales


hold on;
plot(xc,zeros(size(xc)), .r);
hold off;

EXPOSITOR: Miguel Ataurima Arellano

71

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Secuencia Gaussiana: y t ~ N(0,1)


4

yt

-2

-4

100

200

300

400

500
tiempo

600

700

800

900

1000

Histograma de y t
200

150

100

50

0
-5

-4

-3

EXPOSITOR: Miguel Ataurima Arellano

-2

-1

0
yt

72

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

III) Contorno
Una traza de contorno muestra isolineas de una matriz Z. La etiquetacin de las lneas de contorno
(curvas de nivel) se efecta usando clabel.
contour(Z) dibuja un trazo de contorno de la matriz Z, donde Z es interpretado como un conjunto
de alturas con respecto al plano x-y. Z debe ser por lo menos una matriz de 2 2 que contenga
por lo menos dos distintos valores. El nmero de lneas de contorno y los valores de las lneas de
contorno son elegidas automticamente basado en el mnimo y mximo valor de Z. Los rangos de
los ejes x e y son [1:n] y [1:m] respcetivamente, donde [m,n] = size(Z).
contour(Z,n) dibuja un trazo de contorno de la matriz Z con n lneas de contorno donde n es un

escalar.

contour(Z,v) dibuja un trazo de contorno de la matriz Z con lineas de contorno en los valores

dato especificado en el vector v creciente monotnicamente. El nmero de lneas de contorno es


igual a length(v). Para trazar una sola lnea de contorno de nivel i, se debe usar contour(Z,[i i]).
Especifivando el vector v se establece el LevelListMode a manual para permitir al usuario controla
los niveles de contorno. Vea las propiedades de contourgroup para mayor informacin.
contour(X,Y,Z), contour(X,Y,Z,n), y contour(X,Y,Z,v) dibuja las trazas de contorno de Z uasn-

do X e Y para determinar los lmites en los ejes X e Y. Cuando X e Y son matrices, ellas deben ser
del mismo tamao que Z y deben ser monotnicamente crecientes.
contour(...,LineSpec) dibuja los contorno usando el tipo de lnea y color especificados mediante

LineSpec. contour ignora los smbolos de ls marcadores.

EXPOSITOR: Miguel Ataurima Arellano

73

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

contour(axes_handle,...) traza en axes_handle en vez de en gca.


[C,h] = contour(...) returna una matriz de contorno, C, que contiene los datos que definen
las lneas de contorno, y un manipuladore, h, a un objeto contourgroup. La funcin clabel usa la
matriz de contorno C para etiquetar las lneas de contorno. ContourMatrix es tambin una propiedad
contourgroup de solo lectura que se puede obtener a partir del manipulador retornado.

Observaciones:
Se debe usar las propiedades del objeto contourgroup para controla la apariencia de las trazas de
contorno.
Si X o Y estn irregularmente espaciadas, contour calcula los contornos usando una malla de
contorno regularmente espaciada, y entonces transforma los datos de X o Y.

EXPOSITOR: Miguel Ataurima Arellano

74

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un trazo de contorno de la funcin:


z = f (x, y) = xex

2 y 2

sobre el rango 2 x 2, 2 y 3.
 graf2d021.m (script)

1
2

clc;
clear;

3
4
5

% Obtencin de las matrices dominio


[x,y] = meshgrid(-2:.01:2,-2:.01:3);

6
7
8

% Evaluacin de la funcin
z = x.*exp(-x.^2-y.^2);

9
10
11

% Obtencin del trazo de contorno


[C,h] = contour(x,y,z,-0.4:0.1:0.4);

12
13
14
15
16
17
18

% Detalles
set(h, ShowText, on, ...
TextStep, get(h,LevelStep)*2, ...
EdgeColor, b);
set(gca, FontSize, 8);
axis([-2 2 -2 2]);

EXPOSITOR: Miguel Ataurima Arellano

75

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

2
1.5

-0 .1

0.2

-0
.2

0.1

0.4

0.
3

0.2

-0.4

.3
-0

0.1

-0 .2

0.5

-0
.1

-0 .2

-0 .1

-0
.1

-1

0.
3

0.1

.3
-0

-0.5

0.2

0.1

-1.5

-2
-2

-1.5

EXPOSITOR: Miguel Ataurima Arellano

-1

-0.5

76

0.5

1.5

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un mapa de contorno de la funcin Cobb-Douglas


u(x, y) = Ax y
sobre el rango 0 x 1, 0 y 1. Considere A = 1, = 0,5 y = 0,5
 graf2d022.m (script)


1
2

clc;
clear;

3
4
5

% parmetros
A = 1; alfa = 0.5; beta = 0.5;

6
7
8

% Obtencin de las matrices dominio


[x,y] = meshgrid(0:.01:1,0:.01:1);

9
10
11

% Evaluacin de la funcin
z = A*x.^alfa.*y.^beta;

12
13
14

% Obtencin del trazo de contorno


[C,h] = contour(x,y,z,0.1:0.1:1);

15
16
17
18

% Detalles
set(h, ShowText, on, ...
TextStep, get(h,LevelStep)*2, ...

EXPOSITOR: Miguel Ataurima Arellano

77

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

19
20
21
22
23
24

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EdgeColor, b, ...
LineWidth, 2);
axis square;
xlabel(cantidad del bien x);
ylabel(cantidad del bien y);
title(Mapa de Curvas de Indiferencia)

EXPOSITOR: Miguel Ataurima Arellano

78

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Mapa de Curvas de Indiferencia


1
8
0.

0.9
0.6

0.4

0.2

0.8

0.9

0.
7

0.7

0.6

0.7

0.5

4
0.

0.2

cantidad del bien y

0.5

0.3

0.1

0.6

0.8

0.4

0.5

0.6

0.
3

0.3

0.5

0.1

0.4

0.2
0.1

0. 3

0.1

0
0

0.4

0.3

0.2

0.1

EXPOSITOR: Miguel Ataurima Arellano

0.2

0.3

0.2
0.1
0.4
0.5
0.6
cantidad del bien x

79

0.7

0.8

0.2
0.1
0.9
1

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

IV) Escala logartmica


Cuando es necesario representar una serie de valores y el rango que abarcan es grande, una escala
logartmica puede proporcionar un medio de visualizacin de los datos que permite que se puedan
determinar los valores a partir de la grfica. La escala logartmica se representa con distancias
proporcionales a los logaritmos de los valores que se representan. Por ejemplo, en la figura superior,
en ambas grficas, se han representado los valores: 2, 5, 20, 60, 320, 780, 1500, 4900.

Eje con
Escala
Lineal
6000

Eje con
Escala
Logartmica

Una escala logartmica es tambin una escala grfica en uno (semilogartmica) o ambos lados de
una grfica (logartmica).

EXPOSITOR: Miguel Ataurima Arellano

80

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

1. Representacin semilogartmica
Una representacin semilogartmica es una representacin grfica de una funcin o de un conjunto
de valores numricos, en la que el eje de abscisas o el eje de ordenadas tienen escala logartmica
mientras el otro eje tiene una escala lineal o proporcional.
Los datos que siguen una variacin similar a una funcin exponencial
y = aebx a, b constantes
o aquellas serie de datos cuyo rango abarca varios rdenes de magnitud, son apropiados para una
representacin semilogartmica. Tomando logartmos a la expresin anterior se pone en evidencia
una relacin semilogartmica
log(y) = log(a) + b x
En MATLAB se utiliza los comandos:
semilogx(x,y): eje x en escala logartmica, eje y en escala lineal.
semilogy(x,y): eje x en escala lineal, eje y en escala logartmica.

EXPOSITOR: Miguel Ataurima Arellano

81

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

t
EJEMPLO: Graficar la sucesin {xt }10
t=0 con xt = 2 .

 graf2d023.m (script)

clc; clear;

2
3
4
5

% Talla de la muestra
T = 10;
t = (1:T);

6
7

x = 2.^t;

8
9
10
11
12
13
14
15
16
17

subplot(1,2,1);
plot(t, x, o-, LineWidth, 2, ...
MarkerFaceColor, r, ...
MarkerEdgeColor, none, ...
MarkerSize, 5);
title(Representacin Lineal);
xlabel(tiempo);
grid on;
set(gca, FontSize, 8);

18
19

subplot(1,2,2);

EXPOSITOR: Miguel Ataurima Arellano

82

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

20
21
22
23
24
25
26
27
28

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

plot(t,x);
semilogy(t, x, o-, LineWidth, 2, ...
MarkerFaceColor, r, ...
MarkerEdgeColor, none, ...
MarkerSize, 5);
title(Representacin Semilogartmica);
xlabel(tiempo);
grid on;
set(gca, FontSize, 8);

EXPOSITOR: Miguel Ataurima Arellano

83

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Representacin Lineal

Representacin Semilogartmica

1200

10

1000
3

10
800

600

10

400
1

10
200

10

10

tiempo

EXPOSITOR: Miguel Ataurima Arellano

10

tiempo

84

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

2. Representacin logartmica
Una representacin logartmica es una representacin grfica de una funcin o de un conjunto de
valores numricos, en la que el eje de abscisas y el eje de ordenadas tienen escala logartmica.
Los datos que siguen una variacin similar a una funcin exponencial
y = axb a, b constantes
o aquellas serie de datos cuyo rango abarca varios rdenes de magnitud, son apropiados para una
representacin semilogartmica. Tomando logartmos a la expresin anterior se pone en evidencia
una relacin semilogartmica
log(y) = log(a) + b log(x)
En MATLAB se utiliza el comando:
loglog(x,y): eje x en escala logartmica, eje y en escala logaritmica

EXPOSITOR: Miguel Ataurima Arellano

85

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

3
EJEMPLO: Graficar la sucesin {xt }10
t=0 con xt = 5t .

 graf2d024.m (script)

clc; clear;

2
3
4
5

% Talla de la muestra
T = 10;
t = (1:T);

6
7

x = 5 *t.^3;

8
9
10
11
12
13
14
15
16
17

subplot(1,2,1);
plot(t, x, o-, LineWidth, 2, ...
MarkerFaceColor, r, ...
MarkerEdgeColor, none, ...
MarkerSize, 5);
title(Representacin Lineal);
xlabel(tiempo);
grid on;
set(gca, FontSize, 8);

18
19

subplot(1,2,2);

EXPOSITOR: Miguel Ataurima Arellano

86

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

20
21
22
23
24
25
26
27
28

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

plot(t,x);
loglog(t, x, o-, LineWidth, 2, ...
MarkerFaceColor, r, ...
MarkerEdgeColor, none, ...
MarkerSize, 5);
title(Representacin logartmica);
xlabel(tiempo);
grid on;
set(gca, FontSize, 8);

EXPOSITOR: Miguel Ataurima Arellano

87

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Representacin Lineal

5000

Representacin logartmica

10

4500
4000

10
3500
3000

2500

10

2000
1500

10
1000
500
0

10

tiempo

EXPOSITOR: Miguel Ataurima Arellano

10
0
10

10
tiempo

88

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

4.3. Las Grficas Tridimensionales


Funciones trazadoras de Grficas Tridimensionales
4.3.1.

Funciones trazadoras de Grficas Tridimensionales


Linea

Malla
y Barra

rea
y objetos
constructivos

Superficie

Direccin

Volumtrico

Miguel Ataurima Arellano

37

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

89

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.3.2.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Grfica de observaciones tridimensionales

Se deben seguir los siguientes pasos:

Grfica de muestras tridimensionales

Se debe especificar el dominio de graficacin a travs de vectores. Por ejemplo, especificamos tres
vectores,
x, y y z
 Se deben seguir los siguientes pasos:

debe
el dominio de graficacin a travs de vectores.
>> x Se
= [1
3 especificar
5 8 6 4 2];
>> y = [2 4 5 7 6 4 1];
x = [1 3 5 8 6 4 2];
>> z = [2 6 7 8 9 10 12];


y = [2 4 5 7 6 4 1];
y = [2 6 7 8 9 10 12];

Con estos vectores se efecta la grfica de las muestras haciendo usando las funciones MATLAB para
el trazado
tridimensional.
ejemplo,
observaciones
Con
estos vectoresPor
se efecta
la podemos
grfica de representar
las muestrastridimensionalmente
haciendo usando las las
funciones
va los comandos
stem3
y scatter3
MATLAB para
el trazado
tridimensional
stem3(x,y,z)

scatter(x,y,z)

15

15

10

10

0
12

0
12

8
10

8
6
2

Miguel Ataurima Arellano

38

mataurimaa@uni.pe

EXPOSITOR: Miguel Ataurima Arellano

10

90

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.3.3.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Grfica de curvas tridimensionales

Se deben seguir los siguientes pasos:


Especificar el dominio de la variable independiente (por lo general, tiempo).


>> t = 0:pi/10:10*pi
t =
0 0.3142 ... 31.1018 31.4159

Generar los vectores dominio a travs de alguna regla de correspondencia con la variable independiente.


>> x = t.*sin(t)
x =
0 0.0971 ... -9.6110 -0.0000
>> y = t.*cos(t)
y =
0 0.2988 ... 29.5795 31.4159
>> z = t.^2
z =
0 0.0987 ... 967.3199 986.9604

EXPOSITOR: Miguel Ataurima Arellano

91

mataurimaa@uni.pe

UNIVERSIDAD
NACIONAL
pondencia
con
y DE
= INGENIERA
Facultad de Ingeniera Elctrica y Electrnica

0.2988

...

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

29.5795

31.4159

Graficar la curva descrita por los vectores obtenidos en el paso anterior usando las funciones
MATLAB parazel =
trazado de curvas tridimensionales plot3(x,y,z);


0.0987

>> plot3(x,y,z);

... 967.3199

986.9604

por los
aso anterior
TLAB para el
nsionales




400

Grfica de la curva
300
200
100
0
20
10

20
10

-10

-10
-20

-20

39

EXPOSITOR: Miguel Ataurima Arellano

92

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

4.3.4.

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Grfica de superficies tridimensionales

I) Forma Cartesiana
Son aquellas superficies definidas por ternas (x, y, z) donde a cada par (x, y) se le asigna un valor z
por medio de una regla de correspondencia f .
f : D R2 R
(x, y)
7 z = f (x, y)
Para graficar superficies en forma cartesiana en MATLAB se deben seguir los siguientes pasos:

EXPOSITOR: Miguel Ataurima Arellano

93

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Transformar los vectores dominios a arreglos bidimensionales mediante la funcin meshgrid. Por
ejemplo:


>> Dx = -3:3;
>> Dy = -2:2;
>> [x,y] = meshgrid(Dx,Dy)
x =
-3
-2
-1
0
-3
-2
-1
0
-3
-2
-1
0
-3
-2
-1
0
-3
-2
-1
0

1
1
1
1
1

2
2
2
2
2

3
3
3
3
3

-2
-1
0
1
2

-2
-1
0
1
2

-2
-1
0
1
2

y =

-2
-1
0
1
2

-2
-1
0
1
2

-2
-1
0
1
2

EXPOSITOR: Miguel Ataurima Arellano

-2
-1
0
1
2

94

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

uientes
pasos:
Facultad
de Ingeniera Elctrica y Electrnica

Estas
sern usadas para evaluarlas funciones. Por ejemplo evaluemos la funcin z =
es dominios
a matrices
2 + y2
f
(x,
y)
=
x
es a travsde la


>> z = x.^2 + y.^2;


z =
13
8
5
10
5
2
9
4
1
5
2
rid(Dx,Dy); 10
13
8
5

4
1
0
1
4

5
2
1
2
5

8
5
4
5
8

13
10
9
10
13

usadas para
evaluarla superficie utilizando las funciones MATLAB de trazado desuperficies/mallas tridiGraficamos
graficarlas mensionales.
usando Por ejemplo, usando surf obtendremos


B de trazado >>
desurf(x,y,z);


mensionales.

^2;

15

10

Grfica de la funcin
5

0
2
4

1
2

-1
-2 -4

-2

40

EXPOSITOR: Miguel Ataurima Arellano

95

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Graficar la funcin Coob-Douglas


z = Ax y
considerando A = 1, = 0,5 y = 0,5 con 0 x 1 y 0 y 1. Utilice las funciones mesh, surf y
surfl.
 graf3d001.m (script)

1

clc; clear;

2
3
4

% Establecimiento de parmetros
A = 1; alfa = 0.5; beta = 0.5;

5
6
7

% Establecimiento del dominio matricial


[x,y] = meshgrid(0:0.1:1, 0:0.1:1);

8
9
10

% Establecimiento del rango matricial


z = A*x.^alfa.*y.^beta;

11
12
13
14
15
16
17

% Grficas
subplot(1,3,1); mesh(x,y,z);
title(Grfica de superficie usando mesh);
xlabel(eje X); ylabel(eje Y); zlabel(eje Z);
set(gca, FontSize, 8)
axis equal;

EXPOSITOR: Miguel Ataurima Arellano

96

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

18
19
20
21
22
23

subplot(1,3,2); surf(x,y,z);
title(Grfica de superficie usando surf);
xlabel(eje X); ylabel(eje Y); zlabel(eje Z);
set(gca, FontSize, 8)
axis equal;

24
25
26
27
28
29

subplot(1,3,3); surfl(x,y,z);
title(Grfica de superficie usando surfl);
xlabel(eje X); ylabel(eje Y); zlabel(eje Z);
set(gca, FontSize, 8)
axis equal;

EXPOSITOR: Miguel Ataurima Arellano

97

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

Grfica de superficie usando surf

Grfica de superficie usando surfl

0.8

0.8

0.6

0.6

0.6

0.4

0.2

eje Z

0.8

eje Z

eje Z

Grfica de superficie usando mesh

0.4

0.2

0
1

0.2

0
1

0
1
0.8

1
0.6

0.8

0.8

1
0.6

0.6

0.4

eje X

EXPOSITOR: Miguel Ataurima Arellano

eje Y

0.8

1
0.6

98

eje X

0.4

0.2

0.2
0

0.8
0.6

0.4

0.4

0.2

0.2
0

0.8
0.6

0.4

0.4

0.2
eje Y

0.4

eje Y

0.2
0

eje X

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modifique el cdigo anterior haciendo uso de algoritmos de iluminacin y renderizacin, de


tal manera que la superficie obtenida tenga una apariencia real. Use solo la funcin surfl.
 graf3d002.m (script)


clc; clear;

2
3
4

% Establecimiento de parmetros
A = 1; alfa = 0.5; beta = 0.5;

5
6
7

% Establecimiento del dominio matricial


[x,y] = meshgrid(0:0.01:1, 0:0.01:1);

8
9
10

% Establecimiento del rango matricial


z = A*x.^alfa.*y.^beta;

11
12
13

% Grafica de la superficie con surfl


h = surfl(x,y,z);

14
15
16
17

% Configuracin de color y eliminacin de bordes


set(h, FaceColor, [0.3 0.3 1], ...
EdgeColor, none);

18
19
20

% Iluminacin
camlight left;

21

EXPOSITOR: Miguel Ataurima Arellano

99

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

22
23

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

% Algoritmo de renderizacin
lighting phong;

24
25
26
27
28

% Detalles
title(Grfica de superficie Cobb-Douglas);
xlabel(eje X); ylabel(eje Y); zlabel(eje Z);
axis equal;

EXPOSITOR: Miguel Ataurima Arellano

100

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

EXPOSITOR: Miguel Ataurima Arellano

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

101

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modifique el cdigo anterior mostrando 10 lneas de contorno (curvas de nivel) equiespaciadas
y con nfasis los niveles z = {0,2; 0,65; 0,7}.
 graf3d003.m (script)



1

clc; clear; clf;

2
3
4

% Establecimiento de parmetros
A = 1; alfa = 0.5; beta = 0.5;

5
6
7

% Establecimiento del dominio matricial


[x,y] = meshgrid(0:0.01:1, 0:0.01:1);

8
9
10

% Establecimiento del rango matricial


z = A*x.^alfa.*y.^beta;

11
12
13

% Grafica de la superficie con surfl


h = surfl(x,y,z);

14
15
16

% Congelamos la grfica
hold on;

17
18
19

% Grafica de 10 lineas de contorno equiespaciadas


[C1,hc1] = contour3(x,y,z,10);

20

EXPOSITOR: Miguel Ataurima Arellano

102

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

21
22
23

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

% Grafica de las lineas de contorno 0.2, 0.5 y 0.6


[C2,hc2] = contour3(x,y,z,[0.2 0.5 0.6], red);
set(hc2, LineWidth, 1.5);

24
25
26

% Descongelamos la grfica
hold off;

27
28
29
30
31

% Configuracin de color y eliminacin de bordes


set(h, FaceColor, [0.3 0.3 1], ...
EdgeColor, none, ...
FaceAlpha, 0.6);

32
33
34

% Iluminacin
camlight left;

35
36
37

% Algoritmo de renderizacin
lighting phong;

38
39
40
41
42

% Detalles
title(Grfica de superficie Cobb-Douglas);
xlabel(eje X); ylabel(eje Y); zlabel(eje Z);
axis equal;

EXPOSITOR: Miguel Ataurima Arellano

103

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

EXPOSITOR: Miguel Ataurima Arellano

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

104

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Modifique el cdigo anterior mostrando 10 lneas de contorno (curvas de nivel) equiespaciadas
y con nfasis los niveles z = {0,2; 0,65; 0,7} para los siguientes casos:
+
Decreciente ( + < 1)
Constante ( + 1)
Crecientes ( + > 1)

Caso I

0.2 0.6
0.2 0.8
1.6 0.8

Caso II

0.6 0.2
0.8 0.2
0.8 1.6

Caso III

0.4 0.4
0.5 0.5
1.2 1.2

 graf3d003.m (script)


1
2

function grafica3d03rpta
clc; clear; clf;

3
4
5
6

subplot(3,3,1); grafica(1,0.2,0.6);
subplot(3,3,2); grafica(1,0.6,0.2);
subplot(3,3,3); grafica(1,0.4,0.4);

7
8
9
10

subplot(3,3,4); grafica(1,0.2,0.8);
subplot(3,3,5); grafica(1,0.8,0.2);
subplot(3,3,6); grafica(1,0.5,0.5);

11
12
13
14

subplot(3,3,7); grafica(1,1.6,0.8);
subplot(3,3,8); grafica(1,0.8,1.6);
subplot(3,3,9); grafica(1,1.2,1.2);

EXPOSITOR: Miguel Ataurima Arellano

105

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

15
16
17
18

function grafica(A, alfa, beta)


% Establecimiento del dominio matricial
[x,y] = meshgrid(0:0.01:1, 0:0.01:1);

19
20
21

% Establecimiento del rango matricial


z = A*x.^alfa.*y.^beta;

22
23
24

% Grafica de la superficie con surfl


h = surfl(x,y,z);

25
26
27

% Congelamos la grfica
hold on;

28
29
30

% Grafica de 10 lineas de contorno equiespaciadas


contour3(x, y, z, 10);

31
32
33
34

% Grafica de las lineas de contorno 0.2, 0.5 y 0.6


[C2,hc2] = contour3(x, y, z,[0.2 0.5 0.6], red);
set(hc2, LineWidth, 1.5);

35
36
37

% Descongelamos la grfica
hold off;

38

EXPOSITOR: Miguel Ataurima Arellano

106

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

39
40
41
42

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

% Configuracin de color y eliminacin de bordes


set(h, FaceColor, [0.3 0.3 1], ...
EdgeColor, none, ...
FaceAlpha, 0.6);

43
44
45

% Iluminacin
camlight left;

46
47
48

% Algoritmo de renderizacin
lighting phong;

49
50
51
52
53
54
55
56

% Detalles
strtitulo = [A= num2str(A) , \alpha= num2str(alfa) ...
, \beta= num2str(beta)];
title(strtitulo);
xlabel(eje X); ylabel(eje Y); zlabel(eje Z);
axis equal;
set(gca, FontSize, 10)

EXPOSITOR: Miguel Ataurima Arellano

107

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

EXPOSITOR: Miguel Ataurima Arellano

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

108

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

II) Forma Paramtrica


Son aquellas superficies en R3 que se definen como una aplicacin continua
: D R2 R3
(u, v)
7 (u, v) = (x (u, v) , y (u, v) , z (u, v))
denominndose a la aplicacin como la parametrizacin de la superficie y a las ecuaciones

(u, v) =

= x (u, v)
= y (u, v) , (u, v) D
= z (u, v)

como las ecuaciones paramtricas de la superficie.

EXPOSITOR: Miguel Ataurima Arellano

109

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

EJEMPLO: Crear un script que permita realizar la grfica de un toroide circular, cuyas ecuaciones
paramtricas vienen dadas por
x = x (u, v) = (a + r cos v) cos u
y = y (u, v) = (a + r cos v) cos u
z = z (u, v) = r sin v
con a = 10, r = 4,5 y adems 0 u 2, 0 v 2.
 graf3d004.m (script)

clc; clear;

2
3
4
5

% Parmetros del Toroide


a = 10;
r = 4.5;

6
7
8

% Dominio matricial de los parametros u y v


[u,v] = meshgrid(0:pi/64:2*pi);

9
10
11
12
13

% Ecuaciones paramtricas de la superficie


x = (a+r*cos(v)).*cos(u);
y = (a+r*cos(v)).*sin(u);
z = r*sin(v);

14
15

% Grafica de la superficie

EXPOSITOR: Miguel Ataurima Arellano

110

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

16

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

h = surfl(x,y,z);

17
18
19
20

% Establecimiento de propiedades de la superficie


set(h, FaceColor, [0.7 0.7 1], ...
EdgeColor, none);

21
22
23

% Iluminacin
camlight left;

24
25
26

% Algoritmo de renderizacin
lighting phong;

27
28
29
30
31
32
33

% Detalles
title(sprintf(Toroide circular (a = %5.2f, r = %5.2f), a, r));
xlabel(eje x);
ylabel(eje y);
zlabel(eje z);
axis equal;

EXPOSITOR: Miguel Ataurima Arellano

111

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

EXPOSITOR: Miguel Ataurima Arellano

MATLAB & Simulink para Ciencia e Ingeniera


NIVEL I

112

mataurimaa@uni.pe

Você também pode gostar