10
Juan Carlos Sotillo Meneses UNIVERSIDAD BOLIVARIANA DE VENEZUELA PEQUEÑA GUÍA DE OCTAVE

MINÚSCULA GUÍA DE OCTAVE

Embed Size (px)

DESCRIPTION

Guía de instalación de OCTAVE y Xoctave

Citation preview

Page 1: MINÚSCULA GUÍA DE OCTAVE

Juan Carlos Sotillo Meneses

UNIVERSIDAD

BOLIVARIANA DE

VENEZUELA PEQUEÑA GUÍA DE OCTAVE

Page 2: MINÚSCULA GUÍA DE OCTAVE

1

OCTAVE

Octave es un programa surgido dentro de Linux. Por tanto, su característica más

sobresaliente es que es un programa `de libre distribución', es decir, suele venir de forma

estándar con el Linux, no sólo el programa, sino también el código fuente, por lo que

cualquier programador avanzado puede introducir mejoras. Básicamente se comporta igual

que MATLAB, aunque no tiene las toolboxes de éste. Sin embargo, cada día recibe

contribuciones nuevas y va ampliando el número de funciones que puede realizar. Para

iniciarlo, basta con teclear octave desde la línea de comandos1, ya que viene implementado

en la mayoría de las distribuciones Linux actuales. Las mayores diferencias con el MATLAB

se centran en dos puntos:

Su implementación sobre Linux hace que algunas órdenes sean radicalmente distintas como

lpr para imprimir o rm para borrar un archivo.

Dado que su historia es más corta que la del MATLAB, no dispone de todas las toolboxes

que éste tiene.

La mayoría de las órdenes del octave son iguales a las de MATLAB, con la ventaja de ser un

programa con licencia de distribución GNU.

Para instalar OCTAVE, primero baje el archivo de http://sourceforge.net/projects/octave/files/

Verás la siguiente ventana (ver página siguiente):

1 Esta es el famoso (y no siempre agradable) “Símbolo del Sistema” en el INICIO -> TODOS LOS PROGRAMAS -> ACCESORIOS de WINDOWS.

Page 3: MINÚSCULA GUÍA DE OCTAVE

2

Figura 1: Aspecto de la página de donde bajarás OCTAVE

Elige donde indica la flecha (roja, si estás viendo esta guía en colores). Descarga a tu PC y luego

Instala2 (sigue las instrucciones de siempre).

Debe instalarse muy fácilmente. Pero, lamentablemente, el OCTAVE así instalado es poco

“amigable” para trabajar. Para ello se ha diseñado una Interfaz de Usuario o GUI que permite que la

interacción con OCTAVE sea más agradable. El siguiente apartado trata de ella, de dónde

descargarla y de cómo instalarla.

2 Por favor, recuerda claramente (anota) el directorio donde se instaló OCTAVE. Lo vas a necesitar para que

XOCTAVE “sepa” dónde está OCTAVE. Ver la sección OCTAVE y XOCTAVE.

Page 4: MINÚSCULA GUÍA DE OCTAVE

3

XOCTAVE

Xoctave es una interfaz humana para GNU Octave. Xoctave encapsula al GNU Octave proveyendo

útiles herramientas extra que harán GNU Octave mucho más fácil de manejar y, además, mucho

más agradable a la vista y costumbres basadas en ventanas “amigables con el usuario”.

Descargar de: http://xoctave.webs.com/, e ir a la pestaña DOWNLOANDS.

O, directamente, de: http://xoctave.webs.com/apps/links/

Allí hay repositorios tanto para LINUX como para WINDOWS. Bajar la última versión

estable (allí también hay versiones beta, que no se han depurado del todo para estabilidad,

pero que son, claramente, funcionales dentro de lo que nos podría interesar.) De todos

modos, si hay tiene usted alguna duda, baje la penúltima versión (última antes de la beta

mencionada antes). Hemos de suponer que a medida que van saliendo versiones nuevas,

deben contener algunas mejoras, pero no deberíamos preocuparnos por ahora de estos

detalles “técnicos”.

Figura 2: aspecto de la ventana de XOCTAVE

Page 5: MINÚSCULA GUÍA DE OCTAVE

4

OCTAVE Y XOCTAVE juntos

Una vez instalados OCTAVE y XOCTAVE, debemos hacer que este último “vea” al

primero; es decir, que nos permita usarlo como interfaz de usuario para OCTAVE.

Para ello, sigamos los siguientes pasos:

Ejecutar XOCTAVE

Localizar en la parte inferior la pestaña OPTIONS y en ésta (en la parte superior), la

pestaña CONSOLE.

Allí verán un campo que dice “Where is OCTAVE?”. 3

Busca el camino (debe ser algo como C:\Octave\3.2.3_gcc-4.4.0\bin\octave.exe)

4donde instalaste OCTAVE, haciendo click sobre el botón que aparece al lado del

campo en “blanco” (o verde, según sea el color de fondo de XOCTAVE). Allí debe

estar un archivo ejecutable (.exe) llamado OCTAVE. Selecciónalo.

Ahora verás, en la parte superior izquierda de la ventana de XOCTAVE, lo que

muestra la figura

Haz click en el ícono encerrado en el círculo (rojo para los que ven este documento

en colores)

¡listo! Ya deberías tener conectado OCTAVE con XOCTAVE.

¡ A trabajar, pues ¡

3 Ver nota 1 al píe de la página anterior. 4 Nota que el ejecutable de OCTAVE está en la subcarpeta “\bin” del directorio C:\Octave\3.2.3_gcc-4.4.0\.

Si recuerdas dónde se instaló OCTAVE, es sólo cuestión de buscar dicha arpeta en tu disco duro y seguir el

camino aquí señalado.

Page 6: MINÚSCULA GUÍA DE OCTAVE

5

ALGUNOS EJEMPLOS SENCILLOS CON OCTAVE

Como sabemos ya, OCTAVE y MATLAB son muy parecidos, hasta el punto que se

concibe OCTAVE como el equivalente Open Source5 de MATLAB (que es un ejemplo de

lo que se llama “software privativo”), por lo que los ejemplos que daremos estarán,

prácticamente, tomados de códigos de MATLAB. Sin embargo, para notar de una vez las

posibles diferencias entre OCTAVE y MATLAB, también mostraremos algunos ejemplos

donde se haga explícito uso de las singularidades de OCTAVE.

Comencemos.

Ubicar la pestaña CONSOLE en la parte inferior de la ventana de XOCTAVE.

Ésta es la equivalente a la “ventana de comandos” o “command windows” de MATLAB.

Allí podemos escribir directamente los comandos de OCTAVE que deseemos ejecutar.

Ejemplo 1

Puedes comenzar escribiendo, al lado del “prompt” de comandos (que tiene la forma >>) el

ejemplo más sencillo posible6:

>> 2+2-4/7+2.5

Deberías obtener algo como lo que muestra la figura siguiente

Si fue así, ya sabes que OCTAVE está operativo.

Ejercicio 1: Nota qué sucede si en vez de la sencilla línea anterior, escribes las siguientes

posibilidades (anota al lado los resultados obtenidos e indaga por qué los diferentes

resultados):

1. >>(2+2)-4/7+2.5

2. >>2+(2-4)/7+2.5

3. >>2+(2-4/7)+2.5

5 A veces se usa también el término software libre. 6 Cuando escribamos el símbolo >> en esta guía, debemos entender que lo que sigue a continuación se debe

escribir directamente en la consola o ventana de comandos de XOCTAVE.

Page 7: MINÚSCULA GUÍA DE OCTAVE

6

4. >>2+2-4/(7+2.5)

Entonces, vamos a complicar un poco más las cosas7.

Ejemplo 2:

Copia el siguiente código en la CONSOLE de XOCTAVE, línea por línea, y anda tomando

nota de lo que sucede:

>> A=[1 2 3; 4 5 6;7 8 9]

>>B=[1 2 1; 2 3 1;1 -1 1]

>>C=[1 2 1; 2 0 0]

>>A*B

>>B*A

>>A*C Nota: ¿qué sucede en este caso? ¿Por qué?

>>d=[1 2 1]

>>x=inv(A)*d’

Ejemplo 3:

Escribe la matriz A de coeficientes del siguiente sistema de ecuaciones lineales de 3

ecuaciones con 3 incógnitas:

6

2 4 7

2 5

x y z

x y z

x y z

Calcula la inversa de la matriz de coeficientes usando el comando inv(A).

7 Si al ser humano no le gustase complicar las cosas, estaríamos todavía como cazadores y recolectores en

alguna sabana prehistórica.

Page 8: MINÚSCULA GUÍA DE OCTAVE

7

Llama b al vector columna8 de términos independientes del sistema de ecuaciones anterior.

Calcula: >> x=inv(A)*b

Calcula: >>A\b [¿qué diferencia observas?]

Ejemplo 4:

Consideremos el siguiente conjunto de datos Y leídos en función de cierta variable

independiente X:

X=[1 2 3 4 5 6 7 8 9 10]

Y=[1.1 2.0 3.5 4.3 3.2 1.2 4.5 3.2 1.2 2.1]

Note que el número de valores en Y es el mismo que en X. Para comprobar eso,

simplemente escriba en la consola de XOCTAVE:

>>size(X)

>>size(Y)

Y observe el resultado (deberían ser iguales)

Grafiquemos los datos mostrados mediante la instrucción

>>plot(X,Y) [NOTA: como MATLAB, Octave también distingue entre

mayúsculas y minúsculas, así que cuidado al escribir x en vez

de X o y en vez de Y –a menos que así lo hayas definido al

principio del ejercicio-]

Ahora, calculemos los coeficientes de varios polinomios interpolantes (según el método de

mínimos cuadrados) a los datos anteriores.

Comencemos con un polinomio de primer grado. Para ello, la instrucción es:

>> Z = polyfit(X,Y,1) [Aquí, X y Y son los vectores de datos y el 1

representa el grado del polinomio deseado: z=mx+b en

este caso]9

El resultado obtenido son los coeficientes del polinomio de grado 1 que interpola los datos

en Y respecto a la variable independiente X según el método de mínimos cuadrados.

8Para asegurar que las dimensiones de inv(A) y de b sean las adecuadas para multiplicar. 9 Ojo: el nombre de la variable Z, así como de otras que aparecen en este mismo ejercicio –incluyendo X y Y- son arbitrarios. Esos nombres los puedes cambiar a tu gusto.

Page 9: MINÚSCULA GUÍA DE OCTAVE

8

Obtengamos los valores de dicho polinomio en la variable independiente X.

>> valz=polyval(Z,X)

La idea de esa instrucción es: en valz almacenar los valores del polinomio con coeficientes

Z en los puntos dados por X.

Ahora grafiquemos dicho polinomio mediante:

>>plot(X,valz)

Para hacer las cosas algo más interesantes, pruebe lo siguiente:

>>linx=linspace(min(X), max(X), 100)

>>clf; plot(X,Y,’r+’,linx,polyval(Z,linx)); grid

¿Qué hace ese último par de instrucciones? Bien, veamos:

linx=linspace(min(X), max(X), 100) simplemente calcula un vector

de 100 componentes (último valor entre paréntesis) con valores que van desde el

valor mínimo de X hasta el valor máximo de X.

clf, borra las ventanas gráficas

plot ya sabes lo que hace, pero dentro de este plot específico vemos varias cosas.

Primero, se grafica en la misma ventana gráfica (por eso todas las instrucciones en

un solo plot) los valores de Y vs X usando cruces rojas (eso hace el comando

gráfico ‘r+’, r es de red –rojo- y el + es el símbolo q se usará para graficar). Luego,

graficamos polyval(Z,linx) vs linx, que no es más que evaluar el

polinomio de coeficientes Z en el vector linx que creamos en la línea anterior.

El comando grid genera una cuadrícula (escribe la segunda línea de comandos sin

el grid a ver qué obtienes)

Allí tienes, entonces, un gráfico de los valores medidos y del polinomio de 1er grado

interpolante de esos datos.

Ejercicio 4 Repite lo anterior para un polinomio de 2do grado

1. repite lo anterior para un polinomio de 3er grado

2. repite lo anterior para un polinomio de 4to grado

3. repite lo anterior para un polinomio de 10mo grado

Page 10: MINÚSCULA GUÍA DE OCTAVE

9

Ejemplo 5

>> edit

Ese comando abrirá el editor de XOCTAVE.

Una vez que aparezca la ventana, copia en ella el siguiente código:

function x=cuadratica(a,b,c)

%Función que calcula las dos raíces de una ecuación

%cuadrática

%Entrega las dos raíces como componentes de un vector,

%ordenadas de mayor a menor.

discr=b^2-4*a*c;

x1=(-b+sqrt(discr))/(2*a);

x2=(-b-sqrt(discr))/(2*a);

x=[x1 x2];

x=sort(x);

return

Ese código calcula y muestra ordenadamente las dos raíces (complejas en general) de una

ecuación cuadrática 2 0ax bx c . Sólo hay que “pasarle” desde la consola dichos

valores. Por ejemplo, si queremos calcular las raíces de 22 4 7 0x x , simplemente

escribimos en XOCTAVE:

>> cuadrática(2,-4,7)

Y listo. Nota el resultado e inventa con trus propias funciones cuadráticas.