Guia de Introduccion A Scilab
Guia de Introduccion A Scilab
Guia de Introduccion A Scilab
Caractersticas Bsicas
Software Libre
Diferentes Toolbox [control, robtica, RT, etc.]
Sensible a las maysculas [var, Var, VAR=son variables
diferentes]
Se pueden definir archivos de comandos *.sce
(equivalente al *m de Matlab) y se ejecutan dentro
de la consola de comandos con:
-> exec(nombre_archivo.sce);
Creacin de funciones en archivos *.sci y son
cargadas al entorno con el comando getf
-> getf(nombre_funcion.sci);
Descripcin
%e
%i
Nmero imaginario 1
%pi
Nmero PI = 3.1415927
%eps
%inf
Infinito
%nan
No es un nmero
%t
%f
%s
Variable polinomio
%z
Variable polinomio
5
6];
//matriz booleana
//matriz de ceros
//inversa de la matriz m_3x3
Descripcin
' y .'
diag
eye
grand
int
linspace o :
logspace
ones
zeros
rand
-> m_n(:,1)= 8;
-> m_n(:,$)=[];
-> m_n(:,$+1)=[3;2];
Descripcin
Lgica Or
&
Lgica And
Logica Not
Operadores de comparacin
+, -
Multiplicaciones y divisiones
Potenciacin
', .'
Transpuesta
Descripcin
Rank(A)
Inv (A)
Cond(A)
Numero de condicin
Det(A)
Spec(A)
10
Polinomios
Un polinomio de grado n es una funcin de la forma:
= 0 + 1 + 2 2 + +
En Scilab el orden de los coeficientes del polinomio es inverso a
Matlab.
-> p=poly([1 3], 's')
// Polinomio definido por sus races
-> q=poly([1 2],'s','c') // Polinomio definido por sus coeficientes
Los polinomios pueden ser sumados, multiplicados, concatenados
para formar matrices, etc.,
->p+q+2
// Suma de polinomios con un escalar
->[p*q,1]
// Matriz de polinomios
11
Comandos de Polinomios
Comando
Descripcin
poly
coeff
horner
derivat
roots
pdiv
Divisin de polinomios
12
Descripcin
typeof(a)
exists('a')
clear
clear('a')
whos('-name', 'a')
who()
stacksize()
Stacksize(7000000)
Timer()
13
Descripcin
who_user
clear
load
save
diary
browsevar()
Explorador de variables
14
Representacin en Funcin de
Transferencia
= 2
+ 3 + 2
-> s=%s;
En tiempo continuo
-> Gp=syslin('c',s/(s^2+3*s+2));
En tiempo discreto
-> Gpz=syslin('d', (z-1)/(z^2-1.9*z+0.7));
-> Gpz.dt=0.01;
1
2 1.9 + 0.7
15
Representacin en espacio de
estados
2
3 5 2
1
1
= 1 0
2
16
Descripcin
syslin
./
abcd
dscr
ss2tf
tf2ss
ss2ss
canon
17
Transformaciones de la
representacin de sistemas
-> Gp=syslin('c',s/(s^2+3*s+2));
Discretizacin del sistema Gp con ZOH
-> Gpz=dscr(Gp, 0.01);
18
Transformaciones de la
representacin de sistemas
Transformacin a espacios de estados FCC
-> Gee=tf2ss(Gp);
-> Geec=canon(Gee.A,Gee.B)
19
Construccin de sistemas
Comando
Descripcin
G1*G2
Sistema en Serie
G1+G2
Sistema en Paralelo
G1/.H
Sistema realimentado
Ej 1:
->Gp=syslin ( 'c', 2.5/(s2+5*s+2 ));
->Gc=Syslin('c', (5+3*s)/(1+3*s));
->Gt= Gp*Gc/.1;
20
Respuesta en el Tiempo
-> s=%s;
-> Gp=syslin('c',s/(s^2+3*s+2));
-> Gpz=ss2tf(dscr(Gp,0.1));
Respuesta al escaln para el sistema en tiempo continuo
-> tc=0:0.1:40;
-> yc=csim('step',tc,Gp);
->plot(tc,yc); legends('Respuesta al escaln',3,opt=1);xgrid;
21
Respuesta en el Tiempo
Respuesta al impulso para el sistema en tiempo
continuo
->t=0:0.1:40;
->y=csim('impuls',t,Gp,[1;1;1]);
->plot(t,y);
22
Descripcin
csim
dsimul
ltitr
flts
23
Anlisis de Estabilidad
Comando para construir la tabla de Routh
-> Gp=syslin('c', s/((s+4)*(s+3)*(s-2)));
-> routh_t(Gp.den);
24
25
Descripcin
evans
kpure
krac2
26
Anlisis en Frecuencia
Diagrama de Bode: magnitud dB y frecuencia en Hz
-> G=syslin('c', 1/(s^2+s+1));
-> bode(G)
-> xtitle('Diagrama de Bode)')
Diagrama de Nyquist
-> nyquist(G)
Diagrama de Nichols
-> black(G)
-> chart()
27
Anlisis en Frecuencia
Respuesta en frecuencia
-> A=diag([-1,-2]); B=[1;1]; C=[1,1];
-> sys=syslin('c',A,B,C);
-> frq=0:0.02:5;
-> w=frq*2*%pi;
//frq en Hz, w en rad/sec;
-> [frq1,rep] =repfreq(sys,frq);
28
Anlisis en Frecuencia
-> s=%s/(2*%pi);
-> G=20*(s+1)/((s+0.00000000000001)*(s+5)*(s^2+2*s+10));
-> Gs=syslin('c',G)
-> [gg,wcp]=g_margin(Gs)
->[pg,wcg]=p_margin(Gs)
-> bode(Gs);
-> show_margins(gs);
29
Anlisis en Frecuencia
Comando
Descripcin
bode
Diagrama de Bode
nyquist
Diagrama de Nyquist
black
Diagrama de Nichols
chart
Carta de Nichols
repfreq
dbphi
g_margin
p_margin