You are on page 1of 6

ICB 456 Computacin Aplicada

septiembre de 2014

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Bioqumica

GNU Octave
Octave es un lenguaje de alto nivel para realizar clculos numricos, y GNU Octave es un programa capaz de
interpretar este lenguaje y resolver problemas como la resolucin de ecuaciones lineales y no lineales, lgebra
lineal numrica y anlisis estadstico, entre otras funciones. Octave ofrece una interfaz de usuario interactiva,
orientada a lnea de comandos, pero tambin puede ser utilizado en modo no interactivo, leyendo sus rdenes
de fichero.
Otros programas de caractersticas similares, y hasta cierto punto, compatibles, son Matlab y Scilab.

Entorno de trabajo
El entorno de programacin de Octave est divido en 4 pestaas principales, las que pueden ser modificadas y
redistribuidas a gusto del usuario.

4
1

1. Command Window: zona en la que se escriben los comandos e instrucciones a realizar.


2. Command History: historia de las instrucciones ejecutadas en Command Windows.
3. Workspace: variables actualmente en uso.
4. File Browser: permite visualizar y cargar archivos del directorio
Editor: donde se editan las funciones o script.
Documentation: En la documentacin estn las instrucciones y la ayuda de Octave.
La configuracin por defecto se puede restablecer en la pestaa Window / Reset Default Window Layout
clear: elimina lo que se ha quedado registrado en el Workspace

ICB 456 Computacin Aplicada


septiembre de 2014

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Bioqumica

clc: elimina lo que se ha escrito en el Command Window.


CTRL+c: interrumpe Octave.
Exit o quit: Salir de Octave
Edicin de la lnea de comandos. Con las flechas del teclado se pueden recuperar las rdenes anteriores, sin
tener que volver a teclearlas.

Algebra bsica
1+1 Enter
ans=2

Asignar un valor (queda guardado temporalmente en el Workspace)


a=1; Enter (; sirve para silenciar un clculo)
b=2; Enter
c=a/b Enter
ans=0.5

Matrices
A = [1 2 3; 4 5 6] (; es utilizado para indicar dnde termina cada fila. Los elementos de la fila pueden escribirse
separados por coma o simplemente un espacio)
B = [3;-2;1]
C = [1, -2, 3,-4]
A(2,3) (muestra el elemento 2,3 de la matriz A)
A(2,:) (selecciona la segunda fila de la matriz A)
A(:,2) (selecciona la segunda columna de la matriz A)
C(:) (se convierte una fila en columna
A (muestra la transpuesta de la matriz A)
A= [A; 7 8 9] (se modific la matriz A agregando una nueva fila)
B = [B, [1 0 -1]'] (se modific la matriz B agregado una columna)
A*B (* indica el producto punto de matrices)
A.*B (.* indica el producto de cada elemento de la matriz) Qu significa el mensaje que aparece?
A^2 (es lo mismo que A*A)
A.^2 (. Indica que se desea hacer la operacin ^2 en cada elemento de la matriz A)
inv(A) (Entrega la matriz inversa de A. Qu significa el mensaje que aparece?
size (A) (entrega el nmero de filas y columnas de una matriz)
length(A) (es equivalente a max (size), entrega la mxima dimensin de una matriz)

ICB 456 Computacin Aplicada


septiembre de 2014

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Bioqumica

rand(3,5) (entrega una matriz aleatoria de tres filas y cinco columnas )


zeros(3,5) (entregar una matriz de tres filas y cinco columnas siendo todos los elementos 0)
flipud(B) (este comando invierte el orden de sus elementos slo si B es un vector columna)
fliplr(C) (este comando invierte el orden de sus elementos slo si C es un vector fila)
Adems, se pueden crear vectores de la siguiente forma:
x=1:0.5:3 (entrega un vector cuyos componentes van desde el 1 con un espaciamiento de 0.5 hasta 3)
Equivalente a:
x=linspace(1,3,5)

(que produce 5 nmeros igualmente espaciados entre 1 y 3).

Funciones
sqrt( ): Raiz cuadrada
log( ): Ln
log10( ): Log en base 10
sin( ), cos( ), tan( ), pi
abs(): valor absoluto

Grficos
plot(), stem(), bar(), polar(), semilogx(): distintos tipos de grficos (lneas, barras, etc).
La visualizacin grafica de funciones se realiza mediante los comandos sealados anteriormente en el que x
representa el vector independiente e y el vector dependiente. Para crear el vector independiente se puede
utilizar la siguiente instruccin:
Variable independiente= valor mnimo: paso: valor mximo (Si no se pone el paso, se considera un incremento
de 1).
Ejemplo:
x = -pi:pi/10:pi;
y = sin(x);
plot(x,y)
x1=(1:0.1:3);
y1=x.^2;
plot(x,y,x1,y1) (dibuja ambas curvas en 1 solo grfico)
plot(x,y)
hold on (no borrar grficos anteriores)
plot(x1,y1)
hold off (borrar grficos anteriores)

ICB 456 Computacin Aplicada


septiembre de 2014

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Bioqumica

Formato de grficos

Ejemplo:
hold on
plot(x,y,'-rs','linewidth',2,'markeredgecolor','k','markerfacecolor','g','markersize',10)
plot(x1,y1,bo-, markersize,15);

Ejemplo2:
z=(0:0.2:10);
f1=100;
f2=200;
f3=300;
f4=50;
y2=sin(2*pi*f1*z*1e-3);
y3=sin(2*pi*f2*z*1e-3);
y4=sin(2*pi*f3*z*1e-3);
y5=sin(2*pi*f4*z*1e-3);
hold on
plot(z,y2,r,linewidth,3);
plot(z,y3,bo,markersize,15);
plot(z,y4,k^-,markersize,15);
plot(z,y5,gx,markersize,15);

Para los grficos en tres dimensiones se emplea la instruccin plot3(x,y,z)


t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on
axis square

(Si tiene dudas puede ir a Documentation o puede buscar en la web cmo graficar en octave).

ICB 456 Computacin Aplicada


septiembre de 2014

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Bioqumica

M-file
Los archivos .m permiten al usuario la creacin scripts y funciones. Un script es una secuencia de comandos que
se pueden ejecutar a menudo y que se pueden guardar en un archivo de extensin .m para no tener que
escribirlos de nuevo y posteriormente slo se debe llamar desde Command Windows.
Ej: Vaya a File/New File y en el archivo m en blanco escriba:
%Clculo de promedio y desvest
x=[1 2 3 4 5 6];
L=length(x);
promedio=sum(x)/L
desvest=sqrt(sum((x-promedio).^2)/(L-1))

Luego guarde el archivo .m ejecutando


File/Save as/EjemploScript. En Comand Windows escriba:
EjemploScript .presione Enter
Para que un archivo .m sea una funcin, tiene que empezar por la palabra function seguida de las variables de
salida entre parntesis, el nombre de la funcin y las variables de entrada:
function [salida 1, salida 2, ...] = Nombre de la funcin (entrada 1, entrada 2, ...)
La sentencia anterior define que la funcin Nombre de la funcin dadas las entradas 1 , 2 retorna las salidas
1, 2., etc. A diferencia de un Script, el desarrollo de una funcin permite aceptar datos desde Command
Windows, devolviendo la respuesta correspondiente.
Ejemplo: Vaya a File/New File y en el archivo m en blanco escriba
function[promedio,desvest]= estadistica(x)
L = length(x);
promedio = sum(x)/L;
desvest = sqrt(sum((x-promedio).^2)/(L-1));
end

Luego guarde el archivo .m ejecutando File/Save as/estadstica.


En Comand Windows escriba:
estadistica([1,2,3,4,5,6]) .presione Enter
Luego escriba
[promedio, desvest]=estadistica([1,2,3,4,5,6]) .presione Enter. Observe la diferencia con las instrucciones
anteriores.
Los archivos .m son una poderosa herramienta en cual se pueden incluir el comando input que permite
ingresar informacin al archivo .m desde el Command Windows, menu que permite crear un men de
elecciones, if que permite tomar decisiones (== igual, ~= distinto,> mayor, < menor, >= mayor o igual, <=
menor o igual) y for que permite establecer loops.
Ejemplo menu:
Crea y ejecuta el siguiente archivo .m para llevar a cabo la conversin de F a C y viceversa.

ICB 456 Computacin Aplicada


septiembre de 2014

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Bioqumica

function temperatura
choice=menu('Seleccion de escalas','Celsius','Fahrenheit');
if choice ==2,
t = input('Ingrese la temperatura en Fahrenheit[F]:');
c = 5/9*(t-32);
fprintf('%f(en Fahrenheit) es %f(en Celsius).\n',t,c);
end
if choice ==1,
t = input('Ingrese la temperatura en Celsius[C]:');
c = 9/5*t+32;
fprintf('%f(en Celsius) es %f(en Fahrenheit).\n',t,c);
end

*fprintf se utiliza para mostrar textos al usuario en el Command Window


Ejemplo ciclo for:
x=[1 2 3 4 5];
m=5;
for j=1:m+1
for i=1:m+1
A(i,j)=sum(x.^(j+i-2));
end
end
A

Guardar matrices (.mat)


En octave es posible guardar matrices con la extensin .mat.
Para esto, procure que el Workspace est vaco escribiendo en Command Window clear
Ingrese la o las matrices que desea guardar para que queden grabadas en el Workspace.
Luego en File, vaya a save Workspace y guardelo con la extensin .mat
Para cargarla slo debe hacer doble click sobre el archivo.

You might also like