Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Características Básicas
Software Libre
Diferentes Toolbox [control, robótica, RT, etc.]
Sensible a las mayúsculas [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);
Creación de funciones en archivos *.sci y son
cargadas al entorno con el comando getf
-> getf(nombre_funcion.sci);
3
Operador Descripción
| Lógica Or
& Lógica And
! Logica Not
==, >=, <=, >, Operadores de comparación
<,<>,=
+, - Suma y resta binaria
.*, ./, .\, .*., ./., *, Multiplicaciones y divisiones
/, /., \.
^, **, .^, .** Potenciación
', .' Transpuesta
9
Operador Descripción
Rank(A) Rango de una matriz A
Inv (A) Inversa de una matriz A
Cond(A) Numero de condición
Det(A) Determinante de una matriz A
Spec(A) Calculando autovalores de una matriz A
10
Polinomios
Un polinomio de grado “n” es una función 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 raíces
-> q=poly([1 2],'s','c') // Polinomio definido por sus coeficientes
Comandos de Polinomios
Comando Descripción
poly Crea un polinomio, desde sus raíces o sus
coeficientes
coeff Extrae los coeficientes de un polinomio
horner Evalúa un polinomio en un punto
derivat Calcula la derivada de un polinomio
roots Calcula las raíces de un polinomio
pdiv División de polinomios
12
Comando Descripción
who_user Lista las variables del usuario
clear Destruye y libera la memoria correspondiente
(elimina las variables, vectores, matrices…) definidas
por el usuario
load Datos previamente guardados pueden ser cargados
en el workspace
save Los datos en el workspace pueden ser guardados en
un archivo binario
diary Guardando una sección
browsevar() Explorador de variables
14
Representación en Función de
Transferencia
Considere los sistemas
𝑠 𝑧−1
𝐺 𝑠 = 2 𝐺𝑧 𝑠 =
𝑠 + 3𝑠 + 2 𝑧 2 − 1.9𝑧 + 0.7
-> 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;
15
Representación en espacio de
estados
Considere el sistema en E.E.
𝑥1′ 0 2 𝑥1 0 𝑥1
= + 𝑢 𝑦= 1 0 𝑥
𝑥2′
−3 −5 𝑥2 1 2
Transformaciones de la
representación de sistemas
-> Gp=syslin('c',s/(s^2+3*s+2));
Transformaciones de la
representación de sistemas
Transformación a espacios de estados FCC
-> Gee=tf2ss(Gp);
-> Geec=canon(Gee.A,Gee.B)
Construcción de sistemas
Comando Descripción
G1*G2 Sistema en Serie
G1+G2 Sistema en Paralelo
G1/.H Sistema realimentado
Ej 1:
->Gp=syslin ( 'c', 2.5/(sˆ2+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 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);
Comando Descripción
csim Respuesta ante diversas entradas para sistemas en
tiempo continuo
dsimul Respuesta ante diversas entradas para sistemas en
tiempo discreto
ltitr Respuesta de los estados de un sistema discreto
flts Filtrado de datos discretos
23
Análisis de Estabilidad
Comando para construir la tabla de Routh
-> Gp=syslin('c', s/((s+4)*(s+3)*(s-2)));
-> routh_t(Gp.den);
Comando Descripción
evans Diagrama del lugar geométrico de las raíces
kpure Determina la ganancia necesaria para llevar a los
polos sobre el eje imaginario (límite de ganancia)
krac2 Ganancia necesaria para tener dos polos reales
iguales
26
Análisis 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
Análisis 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);
Análisis en Frecuencia
Calculo de los márgenes de ganancia y fase
-> 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
Análisis en Frecuencia
Comando Descripción
bode Diagrama de Bode
nyquist Diagrama de Nyquist
black Diagrama de Nichols
chart Carta de Nichols
repfreq Retorna el calculo de la respuesta en frecuencia
dbphi Retorna el calculo de la ganancia (dB) y la fase (°)
g_margin Retorna el margen de ganancia del sistema
p_margin Retorna el margen de fase del sistema