Octave
Entorno Interactivo
13/8/2018 Computación 1 - Facultad de Ingeniería 1
Agenda
Introducción
Entorno interactivo
Componentes del entorno interactivo
Variables
Matrices
Operaciones
Relaciones
13/8/2018 Computación 1 - Facultad de Ingeniería 2
Lenguajes de programación
Lenguajes de bajo nivel
– Lenguaje máquina, ensamblador
FORTRAN (1954)
– Primer lenguaje de alto nivel
– Orientado a cálculo numérico
Comienzo de una nueva era (1970 - ...)
– C, C++, Java, .net, Python, etc.
MATLAB → Octave
13/8/2018 Computación 1 - Facultad de Ingeniería 3
Octave
Cleve Moler
– Prof. de Cálculo Numérico (Univ. de Nuevo Mexico
EE.UU.)
– Experto en Fortran
Inventa MATLAB a fines de los 70s.
– Facilita la programación a sus estudiantes
Crea la empresa MathWorks en 1984.
Octave = Versión “libre” de MATLAB
13/8/2018 Computación 1 - Facultad de Ingeniería 4
Alternativas
Matlab
http://www.mathworks.com
Windows, Linux, Mac OS, OS 2
Scilab - INRIA
http://www.scilab.org/
Windows, Linux, Solaris, HP-UX
Python (numpy)
13/8/2018 Computación 1 - Facultad de Ingeniería 5
Interacción con el usuario
Octave como una calculadora
– Consola
– Ejecución de comandos o funciones
– Respuesta inmediata a los comandos
Octave como lenguaje de programación
– Funciones, Scripts
13/8/2018 Computación 1 - Facultad de Ingeniería 6
Octave - Entorno interactivo
Se invoca ejecutando octave o usando la
interfaz gráfica correspondiente
Se abandona con el comando quit
13/8/2018 Computación 1 - Facultad de Ingeniería 7
Octave - Entorno interactivo
Herramientas
Espacio de trabajo
Consola
Explorador de archivos
Historial de comandos
13/8/2018 Computación 1 - Facultad de Ingeniería 8
Consola
13/8/2018 Computación 1 - Facultad de Ingeniería 9
Consola
Algunos comandos
pwd
who, whos
dir, ls
cd
clc
clear variable
clear all
13/8/2018 Computación 1 - Facultad de Ingeniería 10
Herramientas – cómo abrir el editor
Nuevo archivo .m Directorio donde estoy
trabajando
13/8/2018 Computación 1 - Facultad de Ingeniería 11
Editor
Editor de
archivos .m
Colorea
palabras
reservadas
13/8/2018 Computación 1 - Facultad de Ingeniería 12
Variables
Valores a los que le asignamos un nombre
Para referirnos al valor podemos escribir el
nombre de la variable
Puede guardar números reales, complejos,
matrices, etc.
Pueden modificarse
13/8/2018 Computación 1 - Facultad de Ingeniería 13
Variables
13/8/2018 Computación 1 - Facultad de Ingeniería 14
Variables
Reglas para los nombres de variables
cualquier combinación de letras, números, o
el caracter “_”
No puede contener espacios
Debe comenzar con una letra
Se distingue entre mayúsculas y
minúsculas
13/8/2018 Computación 1 - Facultad de Ingeniería 15
Variables
13/8/2018 Computación 1 - Facultad de Ingeniería 16
Asignación de variables
<variable> = <expresión>
X=3
y=5*4
z = [1 2 3]
Lógicas
0 se considera falso
~= 0 se considera verdadero
Cadenas de caracteres
Nombre = ‘Leticia’
Letra = ‘A’
Nombre(2)
ans = e
13/8/2018 Computación 1 - Facultad de Ingeniería 17
Asignación de variables
Asignaciones no válidas
2 =x
[a, b] = [1, 2]
13/8/2018 Computación 1 - Facultad de Ingeniería 18
Asignación de variables
13/8/2018 Computación 1 - Facultad de Ingeniería 19
Matrices
Octave trabaja esencialmente con una
única estructura: Matriz
Formas de introducir (declarar) una matriz
Introduciendo explícitamente sus elementos
(separados por comas o espacios)
Generándola a partir de otras matrices
Generándola mediante funciones y
declaraciones
13/8/2018 Computación 1 - Facultad de Ingeniería 20
Matrices
A = [1 2 3; 4 5 6] A = [1 2 3
4 5 6]
B = [1:5] B = [1 2 3 4 5]
C = [2:2:10] C = [2 4 6 8 10]
D = ones(2) D = [1 1
1 1]
E = zeros(2) E = [0 0
0 0]
13/8/2018 Computación 1 - Facultad de Ingeniería 21
Matrices
13/8/2018 Computación 1 - Facultad de Ingeniería 22
Matrices
Dadas B = [1:5] y C = [2:2:10]
H = [B, C] o H = [B C]
H = [ 1 2 3 4 5 2 4 6 8 10]
G = [B;C] o G = [B
C]
G=[12345
2 4 6 8 10 ]
13/8/2018 Computación 1 - Facultad de Ingeniería 23
Matrices
13/8/2018 Computación 1 - Facultad de Ingeniería 24
Matrices
¿Cómo averiguar el tamaño de una
matriz?
M = [6, 5, 4; 3, 2, 1];
size(M)
ans = 2 3
Para los vectores podemos utilizar length
X = 1:50;
length(X)
ans = 50
13/8/2018 Computación 1 - Facultad de Ingeniería 25
Matrices
A(2,3) Denota el elemento de la segunda fila y
tercera columna
A(:,3) Denota todos los elementos de la tercera
columna
A(4,:) Denota todos los elementos de la cuarta
fila
A(1:2, 2:5) Denota una submatriz tomando los
elementos de las filas 1 y 2 y de las
columnas de la 2 a la 5
13/8/2018 Computación 1 - Facultad de Ingeniería 26
Matrices
13/8/2018 Computación 1 - Facultad de Ingeniería 27
Operaciones
Matriciales A coordenadas
+ adición .* producto
- sustracción
.^ potenciación
* multiplicación
.’ transpuesta
^ potenciación NO TRABAJA ELEMENTO
’ transpuesta A ELEMENTO! EN
MATRICES DE NÚMEROS
conjugada COMPLEJOS COMPUTA
LA MAT. TRANSPUESTA
(NO CONJUGADA)
13/8/2018 Computación 1 - Facultad de Ingeniería 28
Operaciones
13/8/2018 Computación 1 - Facultad de Ingeniería 29
Operaciones
Matriciales A coordenadas
\ división izquierda ./ y .\ divisiones
Ax=b x=A\b término a
/ división derecha término
xA=b x=A/b
x./y = y.\x
13/8/2018 Computación 1 - Facultad de Ingeniería 30
Operaciones
13/8/2018 Computación 1 - Facultad de Ingeniería 31
Relaciones
Operadores Operadores lógicos
Relacionales
& y (and)
< menor que
> mayor que | o (or)
<= menor o igual que ~ no (not)
Circuito corto:
>= mayor o igual que
== igual && y (and)
~= no igual (distinto) || o (or)
13/8/2018 Computación 1 - Facultad de Ingeniería 32
Relaciones
13/8/2018 Computación 1 - Facultad de Ingeniería 33
Cómo pedir ayuda
help comando
Nos dice qué hace la función/
comando, cómo invocarla,
etc.
help help nos da información
sobre la ayuda
doc
Mostrar la documentación en la consola
lookfor texto
busca texto palabra en la primera oración de la ayuda de
cada comando.
13/8/2018 Computación 1 - Facultad de Ingeniería 34
Ejemplo: obtener ayuda sobre
operadores...
help ‘.’ lista todos los operadores de octave
Algunos operadores muestran la ayuda al escribir
help operador
Ejemplo: help +
Otros no funcionan tan bien: help \
En este caso podemos usar doc e ir a la sección
Operator Index y acceder a la ayuda mediante el
entorno gráfico
13/8/2018 Computación 1 - Facultad de Ingeniería 35
Instalación
13/8/2018 Computación 1 - Facultad de Ingeniería 36
Instalación – en pocas palabras…
En Windows:
Bajar el archivo
https://ftp.gnu.org/gnu/octave/windows/octave-4.0.3-in
staller.exe
Ejecutar y seguir las instrucciones (siguiente,
siguiente, siguiente, …, etc.)
En Ubuntu:
Abriruna consola (Ctrl+t)
sudo apt-get install octave
13/8/2018 Computación 1 - Facultad de Ingeniería 37