Está en la página 1de 30

05 GRAFICOS EN 2D Lic.

Amado Malca Villalobos

05 GRAFICOS CON MATLAB

Como la mayor parte de las ecuaciones matemticas expresa relaciones entre una, dos, tres o ms
variables, tratar de entender las relaciones existentes entre ellas es algo un poco menos que
imposible. Por ello el empleo de grficas es importante en este tipo de casos.

As desde la educacin primaria hasta la superior en el rea de matemtica, ingeniera, biologa,


humanidades o ciencias econmicas, se hace necesario la inclusin de relaciones graficas entre las
variables. De este modo se convierten en algo necesario, y para ello tenemos el entorno de
computacin con MATLAB, en donde la relacin grafica de los resultados efectuarse con algunos
comandos.

Asi veremos que entender las ecuaciones matemticas con graficas es una forma agradable y
eficiente de aprender matemticas. Por lo que el objetivo de esta unidad es ayudar a los estudiantes
a efectuar graficas, por ahora, en dos dimensiones de diversas funciones.

GRAFICAS EN DOS DIMENSIONES


Graficar: suponga que desea graficar una relacin entre dos variables x e y, donde

y f x , x a, b , para ello se hace necesario conocer algunos pares de valores de estas

variables, siguiendo para ello un cierto protocolo:


i) Indicar un conjunto finito de puntos (pares ordenados): pi xi , yi ; i 1, n

Donde se tiene que: x1 x2 x3 xn1 xn

ii) Luego se traza (plotear) unas lneas entre los puntos consecutivos pi y pi 1 , esta poligonal

ser un esbozo de la relacin entre las variables x e y


Estas lneas se grafican con el comando plot.
Ejemplo 01: Consideraremos los puntos: (1,1), (2,4), (3,9), (4,16), (5,25), (6,36), (7,49). Que
representan la relacin entre un entero y su cuadrado.

En la ventana de comandos de MatLab Grafica de MatLab


>> x=1:12 150

x= 1 2 3 4 5 6 7 8
9 10 11 12 100

>> y=x.^2
y = 1 4 9 16 25 36 49
64 81 100 121 144 50

>> plot(x,y)
>> 0
0 2 4 6 8 10 12

05 grficos 2D 1
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

Ejemplo 02: En realidad el comando plot, tiene una versatilidad increble, pues si ingresamos un
conjunto de puntos en un determinado orden, exactamente en ese orden plotea las lneas.
As tenemos el conjunto de puntos: p1=(1,5), p2=(7,5), p3=(2,2), p4=(4,7), p5=(6,2), p6=(1,5),
forman curiosamente una estrella de cinco puntas.

En la ventana de comandos de MatLab Grafica de MatLab


>> x=[1 7 2 4 6 1] 7

x= 1 7 2 4 6 1 6.5

>> y=[5 5 2 7 2 5] 5.5

y= 5 5 2 7 2 5 4.5
5

>> plot(x,y) 4

>> plot(x,y,'r:d') 3.5

>> plot(x,y,'k+--') 2.5

>> 2
1 2 3 4 5 6 7

En la ventana de comandos de MatLab Grafica de MatLab


>> x=[1 7 2 4 6 1] 7

x= 1 7 2 4 6 1 6.5

>> y=[5 5 2 7 2 5] 5.5

y= 5 5 2 7 2 5 5

4.5

>> plot(x,y) 4

>> plot(x,y,'r:d') 3.5

>> plot(x,y,'k+--') 2.5

>> 2
1 2 3 4 5 6 7

En la ventana de comandos de MatLab Grafica de MatLab


>> x=[1 7 2 4 6 1] 7

6.5
x= 1 7 2 4 6 1 6

>> y=[5 5 2 7 2 5] 5.5

5
y= 5 5 2 7 2 5 4.5

>> plot(x,y) 4

3.5

>> plot(x,y,'r:d') 3

>> plot(x,y,'k+--') 2.5

>> 1 2 3 4 5 6 7

Sean los siguientes datos tomados en un da de la temperatura ambiente. En la estacin


meteorolgica de la FACFYM-UNPRG.

N
01 02 03 04 05 06 07 08 09 10 11 12
Orden
Xx
02 04 06 08 10 12 14 16 18 20 22 24
(horas)
Yy( 22.
21 27 28 30 32 31 30 27 26 24 20
C) 4

05 grficos 2D 2
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Trabajando en la ventana de comandos de Matlab, tenemos:
En la ventana de comandos de MatLab Grafica de MatLab
>> x=[2 4 6 8 10 12 14 16 18 20 22 24]; 32

>> y=[21 22.4 27 28 30 32 31 30 27 26 24 20]; 30

>> plot(x,y)
28

26

24

22

20
0 5 10 15 20 25

Ahora tambin se le puede agregar una malla al grafico con grid.


En la ventana de comandos de MatLab Grafica de MatLab
>> x=[2 4 6 8 10 12 14 16 18 20 22 24]; 32

>> y=[21 22.4 27 28 30 32 31 30 27 26 24 20]; 30


>> plot(x,y)
>> grid 28

26

24

22

20
0 5 10 15 20 25

Ahora agregaremos rtulos en las graficas de la siguiente forma:


Para el rotulo del cuadro
El comando: title. title(' titulo ')
Para el rotulo del eje de las abscisas
El comando: xlabel xlabel(' titulo ')
Para el rotulo del eje de las ordenadas
El comando: ylabel ylabel(' titulo ')
En la ventana de comandos de MatLab Grafica de MatLab
>> x=[2 4 6 8 10 12 14 16 18 20 22 24]; Registro diario de la temperatura en la estacin meteorolgica de la FACFYM-UNPRG
32
>> y=[21 22.4 27 28 30 32 31 30 27 26 24 20];
>> plot(x,y) 30

>> grid
28
>> title('Registro diario de la temperatura en la
temperatura

estacin meteorolgica de la FACFYM- 26

UNPRG')
24
>> xlabel('horas')
>> ylabel('temperatura') 22

20
0 5 10 15 20 25
horas

05 grficos 2D 3
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

Ejemplo 01: Para graficar y f x e0.4x sen x en el intervalo [0,10].

En la ventana de comandos de Grafica de MatLab


MatLab
>> x=0:0.05:10; 0.6
Tobogan

>> y=sin(x).*exp(-0.4*x); 0.5


>> plot(x,y) 0.4
>> grid
0.3
>> title('grafico de ejemplo')

eje y
>> xlabel('eje x') 0.2

>> ylabel('eje y') 0.1

-0.1

-0.2
0 2 4 6 8 10
eje x

Respecto de la funcin plot, las diferentes formas de escribirla, son:


plot x, y
plot x1, y1, x2, y 2, x3, y3,
plot x, y, s
plot x1, y1, s1, x2, y 2, s 2, x3, y3, s3,
plot x, y,' abc '
donde: s, s1, s2, s3, . Toman dos valores que van entre comillas: ab
a: indica el color de la lnea ( por defecto azul).
b: indica la forma de la lnea ( por defecto son lneas rectas que unen dos puntos de la grafica).

El formato general de este comando es:


plot(x,y,especificadores de lnea,propiedades,valores)
Los especificadores de lnea: definen el color, estilo de lnea y el tipo de marcador (opcional).
COLOR DE LINEA ESTILO DE LINEA
Rojo r Solida (por defecto) __
Verde g Discontinua --
Azul b Punteada :
Cian c Rayas y puntos -.
Magenta m
Amarillo y
Negro k
Blanco w

TIPO DE MARCADOR
Signo mas + Crculo o
asterisco * punto .
cuadrado s diamante d
Estrella de cinco p Estrella de seis h
puntas puntas

Ejemplos de plot
05 grficos 2D 4
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
plot ( x, y)
plot ( x, y,' r ')
plot ( x, y,' y ')
plot ( x, y,' *')
plot ( x, y,' g : d ')

Propiedades y valores

Forman parte de la sintaxis de plot y son opcionales, se usan para modificar el:
- Grueso de la lnea
- El tamao de los marcadores
- Los colores de relleno
- Los colores del borde del marcador

Mas sobre los especificadores de lnea y propiedades


Estos tambin pueden ser asignados usando propiedades
Especificad
Propiedad Posible valor d la propiedad
or
Especificador de estilo de
Estilo de LineStyle o
lnea, de la tabla anterior, en
lnea linestyle
forma de cadena
Especificador de color, de
Color de
Color o color la tabla anterior, en forma
lnea
de cadena
Especificador de marcador,
Marker o
Marcador de la tabla anterior, en
marker
forma de cadena
Propiedades y valores de las lneas
Propiedad Descripcion Posible valor de la
propiedad
LineWidth o Indica el grosor de la Un numero
linewidth lnea representado en
unidades de puntos (por
defecto 0,5)
MarkerSize o Especifica el tamao de Un numero
markersize las marcas representado en
unidades de puntos
MarkerEdgeColor Especifica el color del Especificadores de
o markeredgecolor marcador, o el color del color, introducidos en
borde de la lnea para forma de cadena
marcadores con relleno
MarkerFaceColor Especifica el color del Especificadores de
o markerfacecolor relleno de los marcadores color, introducidos en
forma de cadena

05 grficos 2D 5
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

Ejemplo: Usando la mayora de opciones en el comando plot, crearemos un grafico el cual tiene las
siguientes caractersticas:
Una lnea solida de color magenta une puntos que se representan mediante marcadores en forma de
crculo.
El grosor de lnea es de dos puntos.
El tamao de los crculos utilizados como marcadores es de 12 puntos.
Adems los marcadores (crculos) tienen bordes de color verde.
Los los marcadores con relleno amarillo.

En la ventana de comandos de MatLab


>> x=[1:0.4:5];
>> y=x.^3-9*x.^2+26*x-24;
>> plot(x,y,'-
mo','linewidth',2,'markersize',12,'markeredgecolor','g','markerfacecolor','y')
>>
Grafica de MatLab

-2

-4

-6
1 1.5 2 2.5 3 3.5 4 4.5 5

05 grficos 2D 6
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ejemplo : Veamos algunos ejemplos adicionales sobre estas opciones.

En la ventana de comandos de MatLab


>> x=1:0.8:10;y=1./(x.^2+1);
>> plot(x,y)
>> plot(x,y,'LineWidth',4)
>> plot(x,y,'-r*','LineWidth',2)
>> plot(x,y,'-rs','LineWidth',3,'markersize',10,'markeredgecolor','k','markerfacecolor','g')
>> plot(x,y,'-ro','LineWidth',2,'markersize',10,'markeredgecolor','k','markerfacecolor','g')
>> plot(x,y,':md','LineWidth',2,'markersize',10,'markeredgecolor','b','markerfacecolor','r')
>>
Grafica de MatLab

0.5 0.5

0.45 0.45

0.4 0.4

0.35 0.35

0.3 0.3

0.25 0.25

0.2 0.2

0.15 0.15

0.1 0.1

0.05 0.05

0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

0.5
0.5
0.45
0.45
0.4 0.4
0.35 0.35

0.3 0.3

0.25 0.25

0.2 0.2

0.15 0.15

0.1 0.1

0.05 0.05

0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

0.5
0.5
0.45
0.45
0.4
0.4
0.35
0.35
0.3
0.3
0.25
0.25
0.2 0.2

0.15 0.15

0.1 0.1

0.05 0.05

0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

05 grficos 2D 7
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
USO DE LINSPACE PARA GEBNERAR INTERVALOS EQUIESPACIADOS
Es muy comn en matemtica usar intervalos, divididos en partes iguales. De donde si queremos
dividir el intervalo 2,8 , en 10 partes iguales, tenemos que cada parte ser de longitud 0,6. Lo
cual genera usa sucesin de 11 trminos: 2, 2.6, 3.2, 3.8, 4.4, 5, 5.6, 6.2, 6.8, 7.4, 8.

ba
As tenemos que en un intervalo [a,b], el cual se divide en n 1 partes iguales. Esta matriz
h
de n puntos x se obtiene de la forma siguiente:
x linspace(a, b, n)
Tambin con:
x a : h:b

Ejemplo: Dividiendo el intervalo [2, 5], en 10 partes iguales origina una sucesin de 11 terminos.
Lo cual equivale a un incremento de 0.3.

>> x=linspace(2,5,11)
x = 2.0000 2.3000 2.6000 2.9000 3.2000 3.5000 3.8000 4.1000 4.4000 4.7000
5.0000
>> y=2:0.3:5
y = 2.0000 2.3000 2.6000 2.9000 3.2000 3.5000 3.8000 4.1000 4.4000 4.7000
5.0000

Ejemplo: Graficando una funcin cubica, en el intervalo [-20, 20], creando una sucesin de
nmeros con un incremento de uno.
Ademas en el grafico se reemplaza la lnea por el smbolo **, y es de color verde.
En la ventana de comandos de MatLab
>> x=-20:1:20;
>> y=x.^3+6*x-7;
>> plot(x,y,'g*')
>> grid
>> title('grafico con linea verde, en vez de lnea va **')
Grafica de MatLab
4
x 10 grafico con linea verde, en vez de lnea va **
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
-20 -15 -10 -5 0 5 10 15 20

05 grficos 2D 8
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

LIMPIANDO LA VENTANA DE GRAFICOS


El comando clf limpia la ventana de graficos, para evitar algo que ya estuviere escrito.
>> clf
>>

GRAFICANDO VARIAS FUNCIONES A LA VEZ


Puede realizarse la grafica de varias funciones a la vez, en un solo grafico. Sobreponiendo las
graficas. Para esto tenemos tres opciones:
- Con el comando plot,
- Usando los comandos hold on y hold off.
- Usando el comando line.

Opcin 01: Uso de plot


Graficando tres funciones: y 2 x 3 , z x 2 6 , w sin x , en el intervalo 2,4
En la ventana de comandos de MatLab Grafica de MatLab
>> x=-2:0.1:4; 10

>> y=2*x-3;z=x.^2-6;w=sin(x); 8

>> plot(x,y,x,z,x,w) 6

>> 4

-2

-4

-6

-8
-2 -1 0 1 2 3 4

Variando el tipo de lnea, para que haya una mejor diferenciacin entre las graficas.
En la ventana de comandos de MatLab Grafica de MatLab
>> x=-2:0.1:4; 10

>> y=2*x-3;z=x.^2-6;w=sin(x); 8

>> plot(x,y,':r',x,z,'--k',x,w,'-g') 6

>> 4

-2

-4

-6

-8
-2 -1 0 1 2 3 4

05 grficos 2D 9
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

Ahora graficaremos una cubica, as como su derivada y la segunda derivada.


y f x x3 15x 2 66 x 80 , para 0 x 10
z f ' x 3x 2 30 x 66
w f '' x 6 x 30
En la ventana de comandos de MatLab Grafica de MatLab
>> x=0:0.1:10; 80

>> y=x.^3-15*x.^2+66*x-80; 60

>> dy=3*x.^2-30*x+66; 40

>> ddy=6*x-30; 20

>> plot(x,y,'-r',x,dy,':k',x,ddy,'--g') 0

>> grid -20

>> -40

-60

-80
0 2 4 6 8 10

Opcin 02: Uso de hold on


Si se quiere graficar varias funciones en un mismo cuadro, se ejecuta la primera grafica con plot,
luego se ingresa el comando hold on, el cual deja abierto la pantalla de grficos, a continuacin
se agregan el resto de grficos siempre con plot. Finalmente cuando ya no hay mas grficos se
ingresa el comando hold off.
En la ventana de comandos de MatLab
>> x=0:0.1:10;y=x.^3-15*x.^2+66*x-80;dy=3*x.^2-30*x+66;ddy=6*x-30;
>> plot(x,y,'-r')
>> hold on
>> plot(x,dy,':k')
>> plot(x,ddy,'--g')
>> grid
>> hold on
>>
Grafica de MatLab, con los diferentes momentos en esta grafica.
80 80

60 60

40 40

20 20

0 0

-20 -20

-40 -40

-60 -60

-80 -80
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

80 80

60 60

40 40

20 20

0 0

-20 -20

-40 -40

-60 -60

-80 -80
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

05 grficos 2D 10
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ejemplo: Ahora se graficaran dos funciones en un solo grafico. El seno y el coseno en el intervalo
[0, 10], para lo cual se usara la opcin hold on, que no cierra la ventana de grficos y permite
sobrescribir un grafico.
En la ventana de comandos de Grafica de MatLab
MatLab
>> x=0:0.005:10; Grafico de y=Seno(x) y z=Coseno(x) en [0,10]
1
>> y=sin(x).*exp(-0.4*x);
>> x=0:0.005:10; 0.8
>> y=sin(x); 0.6
>> plot(x,y)
0.4
>> hold on

z( --- )
>> z=cos(x); 0.2

>> plot(x,z,'--') 0

y( ___ )
>> grid
-0.2
>> xlabel('eje x')
>> ylabel('y( ___ ) z( --- )') -0.4

>> title('Grafico de y=Seno(x) y -0.6


z=Coseno(x) en [0,10]')
-0.8

-1
0 2 4 6 8 10
eje x

Opcin 03: Uso de line


Ahora usaremos el comando line. Con este comando se puede aadir curvas (lneas) adicionales a
un grafico que ya existe, hecho obviamente con plot.
Sintaxis del comando: line(x, y, propiedades, valores)
En la ventana de comandos de MatLab Grafica de MatLab
>> x=0:0.1:10; 80

>> y=x.^3-15*x.^2+66*x-80; 60

>> dy=3*x.^2-30*x+66;
40
>> ddy=6*x-30;
20
>> plot(x,y)
>> line(x,dy) 0

>> line(x,ddy) -20

>> grid -40

>> -60

-80
0 1 2 3 4 5 6 7 8 9 10

En la ventana de comandos de MatLab Grafica de MatLab


>> x=0:0.5:10; 80
Ejemplo 10

>> y=x.^3-15*x.^2+66*x-80; 60

>> dy=3*x.^2-30*x+66; 40

>> ddy=6*x-30; 20

>> plot(x,y) 0

>> line(x,dy,'linestyle',':','color','g','marker','o') -20

>> line(x,ddy,'linestyle','-- -40

','color','r','marker','*') -60

>> grid -80


0 1 2 3 4 5 6 7 8 9 10
>>

FORMATO DE UNA REPRESENTACIN GRAFICA


05 grficos 2D 11
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ahora agregaremos titulo, leyendas, nombres a los ejes, etc. Esto se puede hacer mediante
comandos o tambin usando el editor de grficos de la ventana de grficos. Pero todos ellos se
agregaran despus de usar plot y/o fplot.

Comando Formato Explicacin


xlabel xlabel(texto) Agrega una etiqueta al eje x (eje de abscisas)
ylabel ylabel(texto) Agrega una etiqueta al eje y (eje de ordenadas)
title title(texto) Agrega una titulo al grafico en la parte superior
text text(x,y,texto) Permite colocar una etiqueta en el punto (x,y)
Permite colocar una etiqueta en un lugar especificada
gtext gtext(texto)
por el usuario con el mouse.
legend(cadena1,cadena2,.. Posibles valores de posicin de
legend
,cadena-n, posicin de leyenda) legenda: -1, 0, 1, 2, 3, 4.

Formateando el texto introducido anteriormente


Los modificadores son caracteres que se insertan dentro de la cadena.

Especificador Efecto sobre el texto Subndice


\bf Negrita _6
\it Italica _{texto}
\rm Normal Superndice
\fontname{fuente} Cambia la fuente ^6
Cambia el tamao de ^{texto}
\fontsize{tamao}
letra

Ejemplo: En el siguiente caso se graficara una funcin cubica con su primera y segunda derivada,
adems de algunos cambios en el tipo de letra. Ademas se ha agregado una leyenda para las
graficas.
En la ventana de comandos de MatLab
x=0:0.5:10;y=x.^3-15*x.^2+66*x-80;dy=3*x.^2-30*x+66;ddy=6*x-30;
plot(x,y)
line(x,dy,'linestyle',':','color','g','marker','o')
line(x,ddy,'linestyle','--','color','r','marker','*')
grid
xlabel('\bfEje de las equis'),ylabel('\itEje de las yes')
title('\fontsize{20}Chicle adams "3 en 1"')
text(0.5,-60,'\bf\fontsize{16}Funcion')
gtext('\bf\fontsize{16}Primera Derivada')
gtext('\bf\fontsize{16}Segunda Derivada')
legend('Funcion','Primera derivada','Segunda Derivada',0)
text(2,63,'\fontsize{16}f(x)=x.^3-15*x.^2+66*x-80')
text(2,45,'\fontsize{16}sub_{indice}')
text(6,45,'\fontsize{16}super^{indice}')

05 grficos 2D 12
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Chicle adams "3 en 1"
80

60 f(x)=x.3-15*x.2+66*x-80

40
subindice superindice

20 Primera Derivada
Eje de las yes

-20 Segunda Derivada


-40
Funcion
-60 Funcion Primera derivada
Segunda Derivada
-80
0 1 2 3 4 5 6 7 8 9 10
Eje de las equis

Caracteres Griegos
Carct Letr
Letra Letra
Carct Carct Letra Carct er a
grieg grieg
er er griega er Grie
a a
ga
\alpha \Alpha \Phi
\beta \Beta \Delta
\gam \Gam \Gam

ma ma ma
\Lamb
\theta \
da
\Omeg
\pi \
a
\sigm
\ \Sigma
a

El comando axis:
Al momento de ejecutar el comando plot o similares, la grafica se da en un rectngulo que tiene
por limites los valores mximos y mnimos de las variables x e y. Pero con el comando axis puede
modificarse esto en aras de una mayor conveniencia, segn sea el caso.
Comando Explicacin
axis([xmin, xmax, ymin, ymax]) Modifica los limites de los ejes
axis equal Establece la misma escala para los ejes
axis square Establece la regin de los ejes en un cuadrado
Establece la limites de los ejes en funcin del
axis tight
rango de los datos

05 grficos 2D 13
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ejemplo: Ahora veamos un ejemplo para explorar el comando axis, en sus diferentes opciones que
se pueden dar en ella.
En la ventana de comandos de MatLab Grafica de MatLab
x=[-15:0.1:15]; x1=[-15:0.1:15];
y=sin(x); x2=[-10:0.1:20];
plot(x,y) y=sin(x1);
z=cos(x2);
plot(x1,y,x2,z)
axis([-10,15,-10,10])
grid on
1

0.8 10

8
0.6
6
0.4
4
0.2
2
0
0
-0.2 -2

-0.4 -4

-0.6 -6

-8
-0.8
-10
-1
-15 -10 -5 0 5 10 15
-10 -5 0 5 10 15

En la ventana de comandos de MatLab Grafica de MatLab


x1=[-15:0.1:15]; x1=[-15:0.1:15];
x2=[-10:0.1:20]; x2=[-10:0.1:20];
y=sin(x1); y=sin(x1);
z=cos(x2); z=cos(x2);
plot(x1,y,x2,z) plot(x1,y,x2,z)
grid on axis([-10,15,-10,10])
grid on
1 10

0.8 8

0.6 6

0.4 4

0.2 2

0 0

-0.2 -2

-0.4 -4

-0.6 -6

-0.8 -8

-1 -10
-15 -10 -5 0 5 10 15 20 -10 -5 0 5 10 15

El comando grid:
Comando Explicacin
grid on Aade una cuadricula a la representacin grafica
grid off Elimina la cuadricula de la representacin grafica

05 grficos 2D 14
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ejemplo: Graficando la Lemniscata de Bernoulli, cuya ecuacin parametrica es:
a cost a sen t cost
t ,
1 sen t 1 sen t
2 2

En la ventana de comandos de MatLab


t=-10*pi:pi/100:10*pi;
x=(3*cos(t))./(1+(sin(t)).^2);
y=(3*sin(t).*cos(t))./(1+(sin(t)).^2);
x1=(2*cos(t))./(1+(sin(t)).^2);
y1=(2*sin(t).*cos(t))./(1+(sin(t)).^2);
x2=(cos(t))./(1+(sin(t)).^2);
y2=(sin(t).*cos(t))./(1+(sin(t)).^2);
plot(x,y)
line(x1,y1,'color','r')
line(x2,y2,'color','g')
grid
gtext('Sigue la linea')
text(2,0,'hola')
legend('radio 3','radio 2','radio 1',4)

1.5

1
Sigue la linea

0.5

0 hola

-0.5

-1 radio 3
radio 2
radio 1
-1.5
-3 -2 -1 0 1 2 3

05 grficos 2D 15
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
GRAFICAS CON ASINTOTAS
Uno de los problemas que se tiene en las graficas es cuando aparecen las asintotas verticales, estas
rectas aparecen cuando hay un denominador que no puede ser cero en una expresin algebraica.
x3 2
Ejemplo: Por ejemplo si queremos graficar la funcin: y f x , x 10,10
x
En la ventana de comandos de MatLab Grafica de MatLab
>> x=-10:0.01:10; 250
>> y=(x.^3+2)./x; 200
Warning: Divide by zero. 150
>> plot(x,y)
100
>> grid
50
>>
0

-50

-100

-150

-200
-10 -5 0 5 10

Para que esta grafica se vea mucho mejor podemos acotar el eje y, dndole limites con la funcion
axis. Su formato: axis ( [ xmin xmax ymin ymax ] )
En la ventana de comandos de MatLab Grafica de MatLab
>> x=-10:0.01:10; 40
>> y=(x.^3+2)./x;
30
>> plot(x,y)
>> grid 20

>> axis([-10 10 -40 40]) 10

>> 0

-10

-20

-30

-40
-10 -5 0 5 10

Ejemplo: Otro ejemplo clsico es el de la funcin tangente:


En la ventana de comandos de MatLab Grafica de MatLab
>> x=-3*pi:0.001:3*pi; 1
x 10
4
f(x)=tan(x)

>> y=tan(x);
0
>> plot(x,y)
>> grid -1

>> title('f(x)=tan(x)') -2

>> -3

-4

-5

-6
-10 -5 0 5 10

05 grficos 2D 16
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Agregando ahora el comando axis, con los limites de la grafica adecuados.

En la ventana de comandos de MatLab Grafica de MatLab


>> x=-3*pi:0.001:3*pi; 10
f(x)=tan(x)

>> y=tan(x); 8
>> plot(x,y) 6
>> grid 4
>> title('f(x)=tan(x)') 2
>> axis([-3*pi 3*pi -10 10]) 0
>> -2

-4

-6

-8

-10
-8 -6 -4 -2 0 2 4 6 8

GRAFICAS PARAMETRICAS
Explicaremos el procedimiento para la creacin de las graficas paramtricas en dos dimensiones,
de la forma:
z x t , y t , t a, b
Usando los comandos en MatLab, como en los casos anteriores.
Ejemplo: Ahora graficaremos las curvas de Lissajous o tambin llamada curva de Bowditch.

En la ventana de comandos de MatLab Grafica de MatLab


t=0:0.01:8*pi;
x=sin(3*t)+t/(20*pi);
y=sin(2*t);
plot(x,y)
title('x(t)=sin(3t)+t/(20pi) y(t)=sin(2t), t en
[0,8pi]')
xlabel('x=x(t)')
ylabel('y=y(t)')
x(t)=sin(3t)+t/(20pi) y(t)=sin(2t), t en [0,8pi]
1

0.8

0.6

0.4

0.2
y=y(t)

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.5 0 0.5 1 1.5
x=x(t)

05 grficos 2D 17
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ejemplo: Ahora la funcin x 2/3
y 2/3
1
En la ventana de comandos de MatLab Grafica de MatLab
t=0:pi/20:2*pi; 1
x2/3 + y2/3 =1

x=(cos(t)).^3;y=(sin(t)).^3; 0.8

plot(x,y) 0.6

grid 0.4

title('x^2/3 + y^2/3 =1'); 0.2

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.5 0 0.5 1

Ejemplo: Ahora una epicicloide


En la ventana de comandos de MatLab Grafica de MatLab
t=0:pi/1000:2*pi; 20
Epicicloide

x=15*cos(t)-3*cos(5*t); 15

y=15*sin(t)-3*sin(5*t); 10
x1=12*cos(t); 5
y1=12*sin(t);
0
plot(x,y,x1,y1)
-5
grid
title('Epicicloide') -10

-15

-20
-20 -15 -10 -5 0 5 10 15 20

GRAFICAS EN DOS DIMENSIONES CON COORDENADAS POLARES

Para la grafica de una funcin en coordenadas polares, debemos tener en cuenta que un punto en el
plano cartesiano se puede escribir en coordenadas cartesianas o en coordenadas polares, esto es
como sigue:

Eje y

p x, y
y
r r cos , sen

x Eje x

Para graficar una funcin en coordenadas polares se hara con el comando polar. Ahora se
explicara el procedimiento para la creacin de los graficas polares en dos dimensiones;
identificando cada uno de los comandos en los programas en MATLAB con lo siguiente:
Indica el rango del parmetro
Indica la funcin que se desea graficar r r ()
Grafica la funcin predefinida con la funcin polar, que reemplaza a plot. El resto de opciones
funciona igual como de costumbre.
Indica el titulo de la grafica con title.
05 grficos 2D 18
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Activa y desactiva la retcula alternadamente con grid.

Ejemplo: graficando una roseta de radio 6 y de 5 hojas: r 6cos(5 ) .


En la ventana de comandos de MatLab Grafica de MatLab
Grafica en Coord. Polares
90 6
t=0:0.05:pi+0.01; 120 60

r=6*cos(5*t); 4
150 30
polar(t,r) 2

title('Grafica en Coord. Polares')


180 0
grid
210 330

240 300
270

Ejemplo: graficando una cardioide: r 12 20cos( ) .


En la ventana de comandos de MatLab Grafica de MatLab
t=0:pi/1000:4*pi; r=20cos t +12
90 40
r=20*cos(t)+12; 120 60
30
polar(t,r)
150 20 30
grid 10
title('r=20cos t +12')
180 0

210 330

240 300
270

Ejemplo: graficando un caracol: r 4 2sen () .


En la ventana de comandos de MatLab Grafica de MatLab
t=0:pi/1000:4*pi; r=4-2sin t
90 6
r=4-2*sin(t); 120 60

polar(t,r) 150
4
30
grid 2

title('r=4-2sin t ')
180 0

210 330

240 300
270

05 grficos 2D 19
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

4
Ejemplo: graficando una elipse en coordenadas polares: r
2 cos( t) .
En la ventana de comandos de MatLab Grafica de MatLab
t=0:0.1:2*pi; r=4/(2-cos t)
90 4
r=4./(2-cos(t)); 120
3
60

polar(t,r) 150 2 30

grid 1

title('r=4/(2-cos t)') 180 0

210 330

240 300
270

4
Ejemplo: graficando una parbola en forma polar: r
1 cos( t) .
En la ventana de comandos de MatLab Grafica de MatLab
t=0:0.1:2*pi; r=4/(1-cos t)
90 1500
120 60
r=4./(1-cos(t)); 1000

polar(t,r) 150
500
30

grid
180 0
title('r=4/(1-cos t)')
210 330

240 300
270

MXIMOS Y MINIMOS DE UNA FUNCION


De acuerdo al curso de Calculo Diferencial sabemos que si una funcin es continua en un intervalo
cerrado y acotado, entonces alcanza un valor mnimo y un valor mximo la funcin en algn punto
de este dominio. Pero este teorema nos indica solamente la existencia de tal valor, el problema es
hallar estos valores, para ello tenemos una funcin en MatLab, llamada: fminbnd
Para hallar el mnimo:
[x,fval] = fminbnd(f,a,b)
Para hallar el mximo de una funcin, se procede hallando el mnimo de y= - f(x)

Ejemplo: Consideraremos el polinomio f x x 4 2 x 3 23x 2 2 x 24, x 10,10.


Para determinar en una forma preliminar en que intervalo del dominio se encuentran estos valores
mnimos y mximos de la funcin, graficaremos tal funcin.

05 grficos 2D 20
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
En la ventana de comandos de MatLab Grafica de MatLab
x=-10:0.001:10; 10000

f=x.^4-2*x.^3-23*x.^2-2*x-24;
8000
plot(x,f)
grid 6000

4000

2000

-2000
-10 -5 0 5 10

Restringiendo el dominio de la grafica, para una mejor observacin. Esto se puede hacer las veces
que sea necesario.
En la ventana de comandos de MatLab Grafica de MatLab
x=-6:0.001:8; 1600

f=x.^4-2*x.^3-23*x.^2-2*x-24; 1400

plot(x,f) 1200

1000
grid 800

600

400

200

-200

-400
-6 -4 -2 0 2 4 6 8

Ahora vemos claramente que hay mnimos en los intervalos: [-6,0] y en [0,6].
Adems encontramos un valor mximo relativo en el intervalo: [-2,2]
Para hallar estos valores usaremos el comando: fminbnd
Hallando mnimo en [-6,0] Hallando el mnimo en [0,6]
f='x^4-2*x^3-23*x^2-2*x+24'; f='x^4-2*x^3-23*x^2-2*x+24';
[x,fval] = fminbnd(f,-6,0) [x,fval] = fminbnd(f,0,6)
Resultado en MatLab Resultado en MatLab
x = -2.6963 x = 4.2400
fval = -45.7604 fval = -227.2207
Hallando el mnimo de -f, en [-2,2] Resultado en MatLab
f='-x^4+2*x^3+23*x^2+2*x-24'; x = -0.0437
[x,fval] = fminbnd(f,-2,2) fval = -24.0436

05 grficos 2D 21
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
10 x
Ejemplo: Considerando la funcin f x 2 , x 20,20
x 1
En la ventana de comandos de MatLab Grafica de MatLab
x=-20:0.01:20; 10

y=(10*x)./(x.^2+1); 8

6
plot(x,y) 4

axis([-20 20 -10 10]) 2

grid 0

-2

-4

-6

-8

-10
-20 -15 -10 -5 0 5 10 15 20

Donde la grafica tiene un mximo en [ 0 , 5 ], y un mnimo en [ -5 , 0 ], ahora procedemos a hallar


estos valores.
Hallando mnimo en [-5,0] Hallando el mximo en [0,5]
f='(10*x)/(x^2+1)'; g='-(10*x)/(x^2+1)';
[x,fval] = fminbnd(f,-5,0) [x,fval] = fminbnd(g,0,5)
Resultado en MatLab Resultado en MatLab
x = -1.0000 x = 1.0000
fval = -5.0000 fval = -5.0000

Ahora con el comando gtext(comentario), agregaremos algn comentario en la grafica. El


cual funciona as:
Se ejecuta la grafica, luego el comando gtext, y luego aparece en la grafica un cursor. Con el
mouse, se elige una posicin en la grafica y una vez elegida se hace un clic con el botn izquierdo
y aparece el comentario en la posicin indicada.
Tambin podemos hacer lo mismo con el comando: text(a,b,texto)

Ejemplo:

En la ventana de comandos de MatLab Grafica de MatLab


clf 10

x=-20:0.01:20; 8

y=(10*x)./(x.^2+1); 6 Mximo en x=1

plot(x,y) 4

axis([-20 20 -10 10]) 2

grid 0

-2
gtext('Mximo en x=1')
-4
gtext('Mnimo en x =-1') Mnimo en x =-1
-6

-8

-10
-20 -15 -10 -5 0 5 10 15 20

05 grficos 2D 22
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

COMANDO SUBPLOT
Este comando lo que hace es dividir la pantalla de graficos en m x n sectores para graficar. Su
sintaxis es como sigue:
subplot(m,n,p)
Donde p varia desde 1 hasta m x n, y nos indica donde ira la siguiente grafica.

Ejemplo: Graficando ahora la funcin f x x 4 40 x 2 144, x 10,10 . Junto a sus tres


primeras derivadas. Esto nos indica como estn variando estas funciones en el mismo intervalo.

En la ventana de comandos de MatLab


x=-10:0.01:10;
y=x.^4-40*x.^2+144; z=4*x.^3-80*x;
w=12*x.^2-80; m=24*x;
subplot(2,2,1)
plot(x,y), title(Funcin), grid
subplot(2,2,2)
plot(x,z), title(Primera derivada), grid
subplot(2,2,3)
plot(x,w), title(Segunda derivada), grid
subplot(2,2,4)
plot(x,m), title(Tercera derivada), grid

Resultados en la ventana grafica de MatLab

Funcin Primera derivada


8000 4000
6000
2000
4000
0
2000

0 -2000

-2000 -4000
-10 -5 0 5 10 -10 -5 0 5 10

Segunda derivada Tercera derivada


1500 400

1000 200

500 0

0 -200

-500 -400
-10 -5 0 5 10 -10 -5 0 5 10

05 grficos 2D 23
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ejemplo: Graficando ahora la funcin cubica f x x 3 30 x 2 275, x 0,20 . Junto a sus tres
primeras derivadas. Esto nos indica como estn variando estas funciones en el mismo intervalo.

En la ventana de comandos de MatLab


x=[0:0.01:20];y=x.^3-30*x.^2+275.*x-750;
dy=3*(x.^2)-60*x+275; ddy=6*x-60; dddy=6;

subplot(2,2,1)
plot(x,y),grid
xlabel('tiempo'),ylabel('y'),title('funcion cubica')

subplot(2,2,2)
plot(x,dy),grid
xlabel('tiempo'),ylabel('dy'),title('Primera derivada de y')

subplot(2,2,3)
plot(x,ddy),grid
xlabel('tiempo'),ylabel('ddy'),title('Segunda derivada de y')

subplot(2,2,4)
plot(x,dddy,'r'),grid
xlabel('tiempo'),ylabel('dddy'),title('Tercera derivada de y')
Resultados en la ventana grafica de MatLab

funcion cubica Primera derivada de y


1000 300

500 200
dy

0 100
y

-500 0

-1000 -100
0 10 20 0 10 20
tiempo tiempo
Segunda derivada de y Tercera derivada de y
100 7

50 6.5
dddy
ddy

0 6

-50 5.5

-100 5
0 10 20 0 10 20
tiempo tiempo

PLOTEANDO FUNCIONES CON fplot


05 grficos 2D 24
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Ahora veremos el comando fplot
Este comando es ms directo en el caso de funciones ya sean de MatLab o funciones pre definidas
por el ussuario, pero no puede ser usado para datos aislados sin relacin funcional explicita. En
cambio el comando plot sirve en ambos casos.
Este comando se usa para graficar funciones en un intervalo determinado
y f x , x a, b
La sintaxis es:
fplot ' funcion ',limites,especificadores_de_linea
Los lmites tienen el formato siguiente:
x min, x max
x min, x max, y min, y max
Los especificadores de lnea son iguales que plot.

Ejemplo: Graficando la funcin: y f x sen x expx, x, y 3,108,1

En la ventana de comandos de MatLab Grafica de MatLab


fplot('sin(x)*exp(-x)',[- 1
montaa rusa

3 10 -8 1]) 0
grid -1
xlabel('eje de las x')
-2
ylabel('eje de las y')
eje de las y

title('montaa rusa') -3

-4

-5

-6

-7

-8
-2 0 2 4 6 8 10
eje de las x

Ejemplo: Graficando la funcin: y f x sen 6 x exp0.25x, x 2,4


En la ventana de comandos de MatLab Grafica de MatLab
fplot('exp(- 2
Saltinbanqui

0.25*x)*sin(6*x)',[-2,4])
grid 1.5

xlabel('eje de las x') 1

ylabel('eje de las y')


eje de las y

0.5
title('Saltinbanqui')
0

-0.5

-1

-1.5
-2 -1 0 1 2 3 4
eje de las x

Graficando una function en coordenadas polares con el commando: ezpolar

05 grficos 2D 25
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
En la ventana de comandos de MatLab
syms t;
g = 100/(100 + (t - pi/2).^8);
ezpolar(g.*(2 - sin(7*t) - cos(30*t)/2), [-pi/2, 3*pi/2])
grid off

Resultados en la ventana grafica de MatLab

90 4
120 60
3

150 2 30

180 0

210 330

240 300
270
r = -(100 (cos(30 t)/2 + sin(7 t) - 2))/((/2 - t)8 + 100)

05 grficos 2D 26
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

COMANDO EZPLOT
La instruccin plot es muy til para hacer lo que uno quiere, pero si queremos producir una
grafica estndar que represente una sola curva sin complicarnos generando una tabla de valores,
disponemos del comando ezplot, que traza la curva correspondiente a una expresin funcional
que se introduce como una cadena de caracteres.

Ejemplo: ibujar la funcin f(x) = exp(sen(x)) - 1 en el intervalo [0; 10]


Solucion:

>> ezplot('exp(sin(x))-1',[0,10])
exp(sin(x))-1

1.5

0.5

-0.5

0 2 4 6 8 10
x

La expresin: 'exp(sin(x))-1' es una cadena de caracteres que MATLAB ha de interpretar


como la expresin analtica de una funcin. Las cadenas de caracteres (strings) han de introducirse
entre apostrofes. Una de las ventajas de ezplot es que tambin puede utilizarse para dibujar graficas
de curvas definidas implcitamente (curvas en el plano). Por ejemplo, representamos la cnica de
ecuacin x 2 2 xy 3x 1 0 (el conjunto de puntos (x; y) del plano que satisfacen esa
ecuacin):
>> ezplot('x^2+2*x*y-3*x+1',[-4 4 -4 4])
>> grid
>>
x2+2 x y-3 x+1 = 0
4

0
y

-1

-2

-3

-4
-4 -3 -2 -1 0 1 2 3 4
x

donde los cuatro nmeros indican el recuadro del plano donde debe graficarse la curva que nos
interesa, en este caso 4,44,4

05 grficos 2D 27
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos

VECTORES EN EL PLANO BIDIMENSIONAL R2

Para graficar un vector en el plano R2, se usara el comando de MatLab: quiver, a modo de
ejemplo tenemos:
Este comando en su forma ms simple:
quiver(u,v)
Grafica los vectores en los puntos (k,1), y cuyas coordenadas del vector son: (u(k),v(k)), donde k
vara desde 1 hasta n, n es tanto la longitud de u y de v, que deben ser iguales.

>> u=-5:5
u = -5 -4 -3 -2 -1 0 1 2 3 4 5
>> v=2*u
v = -10 -8 -6 -4 -2 0 2 4 6 8 10
>> quiver(u,v)
>>
3.5 4

2.5 3.5

2
3
1.5

1 2.5

0.5
2
0

-0.5
1.5
-1

-1.5 1
-2 0 2 4 6 8 10 12 14 0 2 4 6 8 10 12

Grafico 1 Grafico 2
>> u=-5:5
u = -5 -4 -3 -2 -1 0 1 2 3 4 5
>> v=u.^2
v = 25 16 9 4 1 0 1 4 9 16 25
>> quiver(u,v)
>>
Ahora veremos una variante de este comando:
quiver(x,y,u,v)
Grafica los vectores en los puntos (x(k),y(k)), y cuyas coordenadas del vector son: (u(k),v(k)),
donde k vara desde 1 hasta n, n es tanto la longitud de x, y, u y v, que deben ser iguales.

>> t=0:0.6:2*pi;
>> x=sin(t)
x= 0 0.5646 0.9320 0.9738 0.6755 0.1411 -0.4425 -0.8716 -0.9962 -0.7728 -0.2794
>> y=cos(t)
y = 1.0000 0.8253 0.3624 -0.2272 -0.7374 -0.9900 -0.8968 -0.4903 0.0875 0.6347 0.9602
>> u=-sin(t) % derivada de x, respecto de t
u= 0 -0.5646 -0.9320 -0.9738 -0.6755 -0.1411 0.4425 0.8716 0.9962 0.7728 0.2794
>> v=cos(t) % derivada de y respecto de t
v = 1.0000 0.8253 0.3624 -0.2272 -0.7374 -0.9900 -0.8968 -0.4903 0.0875 0.6347 0.9602
>> quiver(x,y,u,v)
>>

05 grficos 2D 28
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
2

1.5

0.5

-0.5

-1

-1.5

-2
-1 -0.5 0 0.5 1

Ahora se considerara una opcin adicional de quiver, la escala del vector, en el grafico anterior
la escala por defecto es 1:
quiver(x,y,u,v,escala)
>> quiver(x,y,u,v,0.5) % escala 0.5 >> quiver(x,y,u,v,2) % escala 2
1.5 3

1 2

0.5 1

0 0

-0.5 -1

-1 -2

-1.5 -3
-1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1

>> quiver(x,y,u,v,1) % escala 1 >> quiver(x,y,u,v,0) % escala 0


2

2
1.5

1.5
1
1
0.5
0.5
0
0
-0.5
-0.5

-1
-1

-1.5
-1.5

-2 -2
-1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1

Tambien se puede midificar el color:


>> quiver(x,y,u,v,0.5,'color','r') >> quiver(x,y,u,v,0.5,'color','m')
1.5
1.5

1
1

0.5
0.5

0
0

-0.5 -0.5

-1 -1

-1.5 -1.5
-1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1

05 grficos 2D 29
05 GRAFICOS EN 2D Lic. Amado Malca Villalobos
Veamos ahora la grafica de una funcin, con algunos vectores tangentes:
Consideremos la funcin: y = cos(x).
Parametrizando esta curva por defecto tenemos:
(x,y) = (x,cos(x)), para x en [0,2*pi]
Ahora consideremos los vectores tangente a esta curva:
(u,v) = (x,y) = (1,-sin(x)), para x en [0,2*pi]
La curva se puede graficar en forma completa, pero los vectores tangentes solo graficaremos
algunos, por cuestiones de esttica, y con rojo para que haya una diferenciacin.

>> x=0:0.1:2*pi;
>> y=cos(x);
>> x2=0:2*pi;
>> y2=cos(x2);
>> plot(x,y)
>> hold on
>> u=1*ones(1,length(x2));
>> v=-sin(x2);
>> quiver(x2,y2,u,v,0.5,'color','r')
>> grid
>>
1.5

0.5

-0.5

-1

-1.5
0 1 2 3 4 5 6 7

Animacion con matlab


function prueba
M=moviein(30)
x=[-2*pi:0.2:2*pi];
for j=1:30
y=sin(x+j*pi/8);
plot(x,y);
M(:,j)=getframe;
end
movie(M,10,15)

05 grficos 2D 30

También podría gustarte