Sei sulla pagina 1di 32

Uso de software Octave en la ingeniera

Ing. Jos Luis Merma Aroni Abancay - 2011

Qu es Octave? Octave se puede definir como un lenguaje de alto nivel inspirado en un software comercial llamado MATLABr(MATrix LABoratory). MATLAB estuvo pensado inicialmente para algebra numrica lineal (matrices, vectores y sus operaciones), y con el tiempo se le ha sacado partido a esta forma de trabajo. De la misma forma, Octave empez siendo un software para que los alumnos de Ingeniera Qumica de las Universidades de Wisconsin-Madison y Texas calcularan reacciones qumicas

Entorno grfico QTOctave

Entorno grfico Matlab

Programacin en Octave
Sentencia If, elseif, else
-- Keyword: if (COND) ... endif -- Keyword: if (COND) ... else ... endif -- Keyword: if (COND) ... elseif (COND) ... endif -- Keyword: if (COND) ... elseif (COND) ... else ... endif Begin an if block. x = 1; if (x == 1) disp ("one"); elseif (x == 2) disp ("two"); else disp ("not one or two"); endif

Programacin en Octave
Sentencia switch
-- Keyword: switch STATEMENT Begin a switch block. yesno = "yes" switch yesno case {"Yes" "yes" "YES" "y" "Y"} value = 1; case {"No" "no" "NO" "n" "N"} value = 0; otherwise error ("invalid value"); endswitch

Programacin en Octave
Sentencia For , while y do until
-- Keyword: for I = RANGE Begin a for loop. for i = 1:10 i endfor -- Keyword: while fib = ones (1, 10); i = 3; while (i <= 10) fib (i) = fib (i-1) + fib (i-2); i++; endwhile

fib = ones (1, 10); i = 2; do i++; fib (i) = fib (i-1) + fib (i-2); until (i == 10)

Programacin en Octave
Funciones
function retval = avg (v) # ayuda: la funcion avg(v) devuelve el promedio # de las componentes del vector v retval = sum (v) / length (v); endfunction function [max, idx] = vmax (v) # ayuda: vmax(v) devuelve el mximo valor de un vector # y la posicin que ocupa idx = 1; max = v (1); for i = 2:length (v) if (v (i) > max) max = v (i); idx = i; endif endfor endfunction

Programacin en Octave
Grficos
octave:25> x=[0:0.01:1]; octave:26> y=sin(2*pi*x); octave:27> plot(x) # presentamos una recta octave:28> plot(y) # presentamos una senoidal octave:29> plot(x,y) # senoidal, pero con eje x bien puesto

Programacin en Octave
Grficos
x=[0:0.01:1]; # rango variacion eje x clearplot; # borramos grafica subplot(1,1,1); # un unico plot centrado axis("auto","normal"); # ejes automaticos hold on; # superpone siguientes graficos plot(x, +sin(2*pi*x),';+sin;') plot(x, +cos(2*pi*x), ';+cos;') plot(x, -sin(2*pi*x), ';-sin;') plot(x, -cos(2*pi*x), ';-cos;')

Programacin en Octave
Grficos
x=[0:0.01:2*pi]; # rango variacion angulo clearplot; # borra grafico axis([-1 1 -1 1], "square"); # ejes manuales hold off; # no superpone siguientes graficos subplot(2,2,1); # cuadrante 1 de 4 polar(x,ones(size(x))); # circulo subplot(2,2,2); # cuadrante 2 de 4 polar(10*x,x/5); # espiral de arqumedes subplot(2,2,3); # cuadrante 3 de 4 polar(x,cos(2*x));# rosa de cuatro petalos subplot(2,2,4); # cuadrante 4 de 4 polar(x,cos(3*x));# rosa de tres petalos

Direcciones de OCTAVE
http://www.outsch.org/2011/01/29/qtoctave-0-10-1-for-windows/ http://qtoctave.wordpress.com/category/english/ http://octave.malavida.com/descargar http://www.gnu.org/software/octave/download.html http://sourceforge.net/projects/octave/files/

Diferencias entre Octave y Matlab


Octave Comentarios: # y % en Octave Fucniones: En Octave son de tipo fichero y dentro del programa Leyendas en Grfico: plot(x, +sin(2*pi*x),';+sin;) Funcin transferencia G= tf([1 2],[1 3 5]); sysout(G); Librerias: le falta libreras Simulink : Octave no tiene dicha herramienta Matlab Comentarios: % en matlab Funciones: En matlab solo son funciones de tipo fichero Leyendas en Grfico: En matlab se usa el comando legend(+sin) Funcin transferencia G=tf([1 2],[1 3 5]); Librerias: no tiene problema con las libreras Simulink: Matlab tiene la herramienta de simulink

Modelos Matemticos
Es un conjunto de ecuaciones que representan la dinmica del sistema. Pueden adoptar muchas formas distintas, dependiendo del sistema y de las circunstancias especificas. Por ejemplo en problemas de control ptimo, sera til una representacin de estados y para los anlisis de respuesta transitoria o en frecuencia de sistemas lineales

Modelos Matemticos
Sistema de lazo Cerrado

Sistema control de temperatura

Modelos Matemticos
Funciones de transferencia

Modelos Matemticos
Funciones de transferencia

Modelos Matemticos
Modelos en la Mecnica

Modelos Matemticos
Ejemplo mecnico

Modelos Matemticos
Modelos en Electrnica

Modelos Matemticos
Ejemplo en Electrnica

V i (t ) = L

d 1 i ( t ) + Ri ( t ) + dt C

i ( t ) dt

Control de sistemas
A: es la matriz de estado B: matriz de control
f 1 X 1 f 2 X 1 A = . . f n X 1 f1 X 2 f 2 X 2 f 1 X n f K 2 X n f n K X n K

f n X 2

f 1 U 1 f 2 U 1 B = . . f n U 1

f1 U 2 f 2 U 2

f n U 2

f1 K U n f 2 K U n f n K U n

Control de sistemas
Linealisacin del modelo matemtico
d 1 V i (t ) = L i ( t ) + Ri ( t ) + dt C

i ( t ) dt

Vc 1 = i t C

Paso 1:

x1 = Vc x2 = i

Paso 3:

1 R 1 x 2 = x1 x 2 + Vin L L L
.

Paso 4: Paso 2:

1 x1 = x 2 C
.

x1 Vc x = = u = Vin x 2 i

Control de sistemas
Linealizacin del modelo matemtico
Paso 4: Paso 6:

x1 Vc x = = u = Vin x 2 i
Paso 5:

1/ C 0 A= 1 / L R / L
Paso 7:

0 B= 1 / L

x = Ax + Bu
num = 0 -0.0000 333.3333 den = 1.0000 2.0000 333.3333

R=10 L=0.2 C=0.015 A=[0 1/C;-1/L -R*L] B=[0 1/L]' C=[1 0] D=[0] [num,den]=ss2tf(A,B,C,D)

Control de sistemas
Linealizacin del modelo matemtico
I (s) V i ( s ) = LsI ( s ) + RI ( s ) + sC I (s) Vo ( s ) = sC Vo ( s ) 1 = Vi ( s ) LCs 2 + RCs + 1

Transformada de Laplace

Uso en la robtica
Sistema Cartesiano

Uso en la robtica
Rotacin

Uso en la robtica
Matriz de Rotacin

Uso en la robtica
Matriz de Rotacin 3D

Uso en la robtica
Matriz de Rotacin y traslacin 3D

Uso en la robtica
Matriz de traslacin 3D

Uso en la robtica
Matriz de traslacin 3D
ang=3.14/2 px=8 py=-4 pz=12 ru=-3 rv=4 rw=-11 mt=[1 0 0 px; 0 cos(ang) -sin(ang) py; 0 sin(ang) cos(ang) pz; 0 0 0 1] cord=[ru rv rw 1] R=mt*cord'

Potrebbero piacerti anche