Graficas en Scilab uso de Plot

Continuando con los artículos sobre este potente software de cálculo científico, hoy es el turno del comando plot, para los que usamos este tipo de software es de suma importancia dominar o por lo menos entender como trabajar con las representaciones gráficas, muchas veces para comprender con lo que tratamos, para esto scilab nos proporciona una variedad de funciones, como: plot(), plot2d(), plot2d3(), plot3d(), etc.. En nuestro caso nos centraremos en este capitulo en (para los que vienen de Matlab) el conocido comando plot( ).

Si estamos acostumbrados a un entorno de Matlab te darás cuenta que los comandos son los mismos y el resultado que se obtiene es básicamente el mismo.

La función plot() recibe dos parámetros, el primero corresponde al vector de la variable independiente y el segundo corresponderá al vector de la variable dependiente, para ilustrar esto, observemos el siguiente ejemplo donde graficaremos la función seno(t) entre 0 y 2*pi lo que es igual en un periodo, para esto escribimos lo sigueinte:

script1

Dando como resultado la gráfica de la figura 1.

Fig 1. función sin(t) con plot(t,y).

Fig 1. función sin(t) con plot(t,y).

 

Hasta el momento el resultado fue el esperado, aunque es algo muy simple, se puede observar que la figura 1 corresponde a la función seno(t), ahora cabe mencionar que no necesariamente necesitamos hacer uso del vector Y, y puede ser suplantado al pasar como segundo parámetro de plot( ) la propia función que se evaluará, esto se ilustra como sigue:

script2

 

Obteniendo como resultado en la figura 2 una gráfica idéntica a la de la figura 1:

 

Fig 1. función sin(t) con plot(t,y).

Fig 2. función sin(t) con plot(t,sin(t)).

 

Ahora que ya sabemos pasar los parámetros básicos a la función plot( ), necesitamos hacer que las gráficas nos brinden más información, esto es, que los ejes por ejemplo tengan su descripción o nombre, tal vez ponerle nombre (titulo) a la gráfica o (en caso que haya más de una gráfica) decir a que corresponde cada linea para que sea más clara la presentación, para este tipo de situaciones Scilab nos proporciona los comandos xlabel (nombra el eje X del plano), ylabel (nombra el eje Y del plano), title (pone titulo a la gráfica en su parte superior), legend (indica a que corresponde cada linea si hay mas de una función graficada en una ventana gráfica), etc…Lo anterior lo ilustraremos con un ejemplo más, en este caso graficaremos las funciones seno(t), coseno(t), y seno(2t).

script3

En el anterior código se puede observar como se genera el vector que hace las veces de la ‘variable independiente’ t, posteriormente como se almacena en las variables Y1, Y2 y Y3 cada una de la funciones que se quiere graficar, luego se pasan como argumento dichos vectores cabe hacer notar la forma en que deben ser pasados, es decir por ‘parejas’ de abscisa y ordenada, posterior a esto se genera la ventana gráfica correspondiente (aún sin datos), los comando que aparecen luego del comando plot( ) indican respectivamente:

*     Titulo (title) indica el titulo de la gráfica, este aparecerá en la parte superior de la misma, como se puede ver, el titulo que pasaremos deberá ir entre comillas simple.

*     Nombre del eje X (xlabel) este comando pone una cadena como titulo o descripción del eje X, su parámetro también es una cadena que debe ir entre comillas simples.

*     Nombre del eje Y (ylabel) este comando pone una cadena como titulo o descripción del eje Y, su parámetro también es una cadena que debe ir entre comillas simples.

*     Leyenda (legend) este comando es de suma importancia ya que identifica a que corresponde cada una de las gráficas que se encuentren en la ventana, sus parametros son cadenas que deben ir entre comillas simples, separadas a su vez por comas, y que para una correcta representación dichas descripciones deben ir en el orden correspondiente de los argumentos de plot( ) como se ve en la figura 3.

Como los comando anteriores Scilab nos proporciona otros que vale la pena conocer, aunque estos son los principales.

Fig 3. Dando más información sobre las gráficas.

Fig 3. Dando más información sobre las gráficas.

 

 OTRA FORMA DE PLOTEAR VARIOS PARÁMETROS.

Como vimos en la figura anterior, a la hora de querer graficar varias funciones (vectores) se hacia necesario pasar cada par de vectores es decir plot(t,y1,t,y2,t,y3), otra forma de pasar una lista de parámetros a graficar puede ser mediante un vector de variables dependientes si la variable independiente (en este caso ‘t’ es la misma) lo anterior se ilustra en el siguiente ejemplo:

** Graficar las funciones sin(t), sin(2t) y cos(t).

plot11

Como se puede observar en el código, dicho vector de variables dependientes debe ser pasado como un vector columna de lo contrario el comportamiento de la función será inesperado aunque no genere ningún mensaje de error. El resultado del script anterior nos da como resultado la gráfica obtenida en la figura 4:

 

Fig 4. Resultado de pasar el vector columna de variables dependientes plot(t,[y1;y2;y3])

Fig 4. Resultado de pasar el vector columna de variables dependientes plot(t,[y1;y2;y3])

Cabe destacar que la gráfica resultante resulta ser idéntica a la de la figura 3, donde se pasaban los parámetros como pares X,Y es decir t,y1…t,y2…t,y3.

OTROS PARÁMETROS DE LA FUNCIÓN PLOT( ), (TIPO DE LINEA, COLOR, MARCADORES).

En algunas ocasiones también es conveniente o necesitamos por alguna razón cambiar el tipo de linea con la que graficamos, es decir que en vez de parecer continua sea ‘punteada’ y que además puedan aparecer marcas en los puntos (X,Y) correspondientes, para esto podemos disponer de un tercer parámetro recibido por la función plot( ) en el cual mediante una cadena le podemos indicar el tipo de linea, el color y las marcas de la misma. con los valores que se indican en la tabla 1.

tabla

Para ilustrar lo que decíamos anteriormente graficaremos la función trigonométrica seno(t) con una linea de color verde, con lineas y puntos (.-), y sus coordenadas (X,Y) marcadas como puntos ‘.‘ y para esto escribimos el siguiente código:

script10

Con el código anterior lo que le queremos decir al interprete es que realice el trazado con: puntos y lineas (.-), de color azul (b) y las coordenadas se presenten con un punto (.), dando como resultado la grafica presentada en la figura 5.

Fig 4. plot(t,y,'.-b.')

Fig 5. plot(t,y,’.-b.’)

 

COMO PONER UNA REJILLA (O GRILLA).

Scilab también nos proporciona la forma de poner una rejilla o cuadricula mediante el comando xgrid este es uno de los muchos comandos o funciones que se encuentran sobrecargados lo quiere decir que podemos solo escribir xgrid o también pasar parámetros a este xgrid( ), en este caso el único parámetro posible es un numero entero positivo para indicar el color que tendrá la cuadricula este valor se presenta en la última columna de la tabla anterior, donde se presenta una lista de los valores y su respectivo color. Lo anterior se ilustra en con el siguiente código el cual genera la gráfica de la figura 4.

 

script4

 

En este caso la cuadricula generada es de color azul como se observa en la figura 6.

 

Fig 4. función sin(t) con cuadricula de color 'azul' xgrid(10).

Fig 6. Función sin(t) con cuadricula de color ‘azul’ xgrid(10).

 

 

Hasta aquí este articulo, tal vez te pueda interesar cómo ubicar varios plots( ) en una misma ventana con el uso de subplot( ), tal vez la creación de varias ventanas gráficas con figure( ), graficas en 3D, etc… Esto también se encuentra en otras entradas en este mismo blog.

Espero que haya sido de ayuda este articulo, saludos y éxitos (y paciencia ante todo) en el aprendizaje de este software.

Autor: Julio E. Marulanda.

2 comentarios en “Graficas en Scilab uso de Plot

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s