You are on page 1of 8

Gracando con Octave

Mauricio Gende
*
mgende@fcaglp.unlp.edu.ar
17 de junio de 2011

Indice
1. Introduccion 1
2. La funcion PLOT 2
3. Formatos 3
3.1. Tipos de lneas y smbolos . . . . . . . . . . . . . . . . . . . . 3
3.2. Colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Otros Cambios 4
5. Manteniendo, borrando y grabando la gura 5
6. Gracos multiguras 6
7. Resoluci on graca de la tarea 7
1. Introducci on
Este breve documento pretende mostrar como gracar con Octave. Lo
primero que tenemos que decir es que Octave usa GNUplot para gracar,
*
Facultad de Ciencias Astronomicas y Geofsicas, Paseo del Bosque s/n, B1900FWA,
Argentina
1
Gracando con Octave Referenciaci on
por lo tanto, los gr acos de uno y otro son muy similares. Lo segundo es que
la raz on por la que no utilizamos GNUplot en forma directa es solo porque
hacerlo en Octave implica integrar mejor nuestros codigos en Octave a una
salida graca. Nada tiene de malo entonces guardar en un archivo de texto la
salida numerica de un programa en Octave y gracarlo en GNUplot solo que
a nuestro criterio parece m as engorroso. De todas las opciones disponibles,
por ahora, s olo veremos como hacer gracos bidimensionales x vs. y.
2. La funci on PLOT
La funci on plot despliega en pantalla una imagen de un gr aco x vs. y.
La forma mas sencilla de ejecutarla es:
plot(y)
De esta manera se despliega un graco que toma al ndice de y como valor
para las abscisas y a los valores de y como las ordenadas. Para elegir el valor
de las abscisas podemos escribir
plot(x,y)
Entonces:
1. Si x e y son vectores, se har a el gr aco m as intuitivo x vs. y. Entendiendo
que siempre debe haber tantos valores de x como de x.
2. Si x e y son matrices de igual dimensiones (n, m), se har an los m gr acos
que relacionan los m diferentes vectores columnas (n,1) para x e y.
3. Si x es un vector e y una matriz (n,m), se har an los m gr acos que
relacionan a la abscisa x con las columnas de y.
Es importante recordar que siempre debe haber coherencia con
las dimensiones de las variables que se desea gracar.
Tareas:
2
Gracando con Octave Referenciaci on
1. Gracar la funci on seno entre 0 y 2. Para eso arme una tabla versus
seno() equiespaciada cada 0,01 radianes.
2. Gracar las funciones Acoseno entre 0 y 2 cuando A toma los valores 1,
2, 3, 6 y 12. Arme la matriz y que contenga a las funciones equiespaciada
cada 0,01 radianes.
3. Formatos
Si no queremos aceptar las opciones de gracacion que Octave propone
por defecto, podemos usar
plot(x,y,formato)
3.1. Tipos de lneas y smbolos
- elige como estilo la lnea (line), esta es la eleccion por omisi on.
. elige como estilo el punto (dots).
@ elige como estilo una lnea discontinua de caracteres (points).
1. @* elige como estilo una sucesion de *
2. @+ elige como estilo una sucesion de +
3. @x elige como estilo una sucesion de x
4. .....
3.2. Colores
Si en formato ponemos algunos car acteres particulares, ellos son interpre-
tadas como los colores de los smbolos o las lneas, de la siguiente forma:
k (black) es negro
r (red) es rojo
g (green) es verde
3
Gracando con Octave Referenciaci on
b (blue) es azul
m (magenta) es magenta
c (cyan) es cian
w (white) es blanco
Tarea:
3. Gracar una funci on matematica no trigonometrica en color az ul, con
lnea punteadas y smbolos +. Elija el rango de las abscisas mas conveniente.
4. Otros Cambios
La funcion axis es util para indicar los lmites del gr aco y se usa as:
axis([x_min x_max y_min y_max])
A su vez los ejes pueden tener etiquetas para indicar que se graca en
ellos de la siguiente manera:
xlabel("texto_1");
ylabel("texto_2");
Si queremos asociar la variable que se graca con un texto utilizamos la
sentencia legend:
legend ("texto1","texto2",...)
Dicha sentencia es util para diferentes tipos de gr acos (Gr acos de lneas,
gr acos de barras, etc.) y para cada elemento dibujado, legend utiliza un
ejemplo de el tipo de lnea, el smbolo y el color utilizado junto con un
texto que hace referencia a la variable gracada. Otra forma de utilizar esta
sentencia sera:
legend ("texto1","texto2",...,"location", POS)
en la cual podemos especicar en forma opcional la posicion exacta en
donde queremos que sobreimponga la legenda. Los valores posibles para POS
son:
4
Gracando con Octave Referenciaci on
north center top
south center bottom
east right center
west left center
northeast right top (default)
northwest left top
southeast right bottom
southwest left bottom
outside
Y si queremos poner un ttulo al graco utilizamos title
title ("texto_del_titulo");
Tarea:
4. Gracar A.seno y B.coseno entre 0 y . El primero con el smbolo o en verde y
el segundo con lnea llena en color Cian. Poner una leyenda a cada uno indicando que
funci on trigonometrica es. Escribir las etiquetas en los ejes indicando que se graca y en
que unidades. Elija A y B en forma arbitraria, haga que en el eje y se muestre al menos
un 25 % de espacio en blanco por arriba y por debajo de los valores maximos y mnimos
de las funciones. Elija y coloque un ttulo.
Ayuda: Tenga cuidado de gracar ambas funciones a la vez para que no desparezca
un graco al realizar el otro.
5. Manteniendo, borrando y grabando la gu-
ra
Si vamos a poner mas de un graco en una gura debemos avisar que la misma se
retenga porque sino los gracos saldran en forma independiente. Para esto utilizamos:
hold on
Esta funcion trabaja como una llave de luz (on/o) y solo es necesario utilizarla
cuando se desea cambiar de estado. Es decir una vez encendida solo debe apagarse
cuando queremos que los gracos salgan en otra gura.
Si queremos despejar la pantalla de gracos utilizamos clf, que puede ser entendida
como clear gure o sea, borre las guras.
5
Gracando con Octave Referenciaci on
Figura 1: Ejemplo de uso de subplot
6. Gracos multiguras
Si queremos mas de un graco por gura utilizamos subplot de la siguiente forma:
subplot (n,m,i)
donde n y m son los ndices de una matriz que indica la forma general de la
gura, e i es el ndice que indica donde poner el graco en forma zigzagueante de
izquierda a derecha y hacia abajo.
Por ejemplo
x=1:100;
y1=sin(x);
y2=cos(x);
subplot(2,1,1)
plot(x,y1)
subplot(2,1,2)
plot(x,y2)
Da como resultado la Figura 1.
6
Gracando con Octave Referenciaci on
7. Resolucion graca de la tarea
No avance mas en la lectura del texto si no intento realizar los ejem-
plos. Esta pagina fue dejada en blanco adrede.
7
Gracando con Octave Referenciaci on
Tarea 1 Tarea 2
Tarea 3 Tarea 4
8

You might also like