Introducción a Scilab para el análisis de sistemas LTI
Introducción
¡Hola!
¡Qué gusto encontrarte en esta nueva clase! Espero que sigas con buena salud y una excelente disposición para el trabajo que demanda la unidad de aprendizaje Control continuo. Por lo tanto. te invito a disfrutar de esta sesión. En esta clase veremos la introducción a Scilab para el análisis de sistemas LTI
SCILAB es un paquete de software libre de código abierto para computación científica, orientado al cálculo numérico, a las operaciones matriciales y especialmente a las aplicaciones científicas y de ingeniería.
Puede ser utilizado como simple calculadora matricial, pero su interés principal radica en los cientos de funciones tanto de propósito general como especializadas que posee así como en sus posibilidades para la visualización gráfica.
SCILAB posee además un lenguaje de programación propio, muy próximo a los habituales en cálculo numérico que permite al usuario escribir sus propios scripts (conjunto de comandos escritos en un fichero que se pueden ejecutar con una única orden) para resolver un problema concreto y también escribir nuevas funciones con, por ejemplo, sus propios algoritmos.
También cuenta con un entorno de simulación en diagrama en bloques (similar a Simulink de MatLab) llamado Xcos. En Xcos es posible simular sistemas de control.
En esta sesión veremos los temas siguientes:
- Introducción
- Álgebra matricial
- Modelado de sistemas LTI
- Simulación de sistemas LTI
- Diagramas de Bode
- Análisis de estabilidad de sistemas LTI
De acuerdo con lo anterior, te invito a continuar.
Desarrollo del tema
Scilab
Scilab es un software libre y de código abierto para aplicaciones científicas y de ingeniería, el cual lo puedes descargar en el siguiente enlace: https://www.scilab.org
Scilab está disponible bajo la licencia GPL (General Public License) en el siguiente enlace: https://www.gnu.org/licenses/gpl-3.0.en.html
Aplicaciones
- Industria aeroespacial y automotriz
- Análisis de datos
- Sistemas embebidos y sistemas de control
- Meteorología y energía
- Ingeniería mecánica
- Minería y metalurgia
- Medicina e industria farmacéutica
- Educación e investigación científica
- Procesamiento de señales e imágenes
- Dinámica de fluidos y termodinámica
Industria e investigación
Ambiente de desarrollo
Matrices
Un arreglo de m × n elementos aij con i = 1, 2, . . . , m y j = 1, 2, . . . n escrito de la forma
es conocida como una matriz rectangular A ∈ F m×n. Comandos importantes: eye, ones, zeros.
Tipos especiales de matrices
Matriz cuadrada. Sea la matriz A ∈ R n×n
Matrices triangular superior y triangular inferior. Sea la matriz A ∈ R n×n
Matrices diagonal y escalar
Matriz de identidad y matriz cero
Operaciones con matrices
- Suma de matrices. Sean las matrices A, B, C ∈ R m×n, la suma de matrices se define como C = A + B.
- Multiplicación escalar. Sea las matrices A, B ∈ R m×n y el escalar α ∈ R, la multiplicación escalar se define como B = αA.
- Multiplicación de matrices. Sean las matrices A ∈ R m×l, B ∈ R l×n y C ∈ R m×n, la multiplicación de matrices se define como C = AB.
- Potencia de una matriz. Sea la matriz A ∈ R n×n, la potencia n de una matriz se define como A n = A × A × . . . × A (n veces).
- Matriz transpuesta. Sean las matrices A ∈ R m×n y B ∈ R n×m, la transpuesta de una matriz se define como B = AT. Comando: A’.
- Traza de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, la traza de una matriz se define como la sumatoria de los elementos de la diagonal principal de A y se representa como b = tr(A). Comando: trace(A).
- Determinante de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, el determinante de una matriz se representa como b = det(A). Comando: det(A).
Operaciones especiales
- Determinante de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, el determinante de una matriz se representa como b = det(A). Comando: det(A).
- Matriz inversa. Sean las matrices A, B ∈ R n×n, la inversa de una matriz se define como B = A−1. Comando: inv(A).
- Rango de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, el rango de una matriz se define como el número mínimo de renglones o columnas linealmente independientes y se representa como b = rank(A). Comando: rank(A).
Modelado de las dinámicas de sistemas LTI
Las dinámicas de un sistema lineal invariante en el tiempo se pueden modelar por medio de la ecuación diferencial ordinaria (ODE) de orden n.
donde:
Esta ODE de orden n se puede transformar en un sistema de n ODEs de orden 1 definiendo el vector de estados
Modelos en espacio de estados
El modelo en espacio de estados de un sistema LTI está dado por:
donde x ∈ R n, u ∈ R m, y ∈ R p y las matrices A ∈ R n×n, B ∈ R n×m, C ∈ R p×n y D ∈ R p×m son constantes.
La función de transferencia del sistema LTI está dada por:
Comandos importantes: syslin, ss2tf
Ejemplo 1: Tanque
Obtener el modelo en espacio de estados y la función de transferencia del tanque mostrado a continuación.
Ejemplo 2: Sistema Masa-Resorte-Amortiguador
Obtener el modelo en espacio de estados y la función de transferencia del sistema masa-resorte-amortiguador mostrado a continuación.
Ejemplo 3: Circuito RLC
- Obtener el modelo en espacio de estados y la función de transferencia del circuito RLC de la diapositiva para x1 = iL y x2 = vc
- Obtener el modelo en espacio de estados y la función de transferencia ahora para x1 = iI y x2 = iII
Solución numérica de ODEs
- El método de Euler es el procedimiento numérico más simple para obtener la solución de un problema de valor inicial.
- El método de Runge-Kutta es un procedimiento numérico más exacto para obtener la solución de un problema de valor inicial.
Componentes básicos de un programa en Scilab
- Scilab es un intérprete de comandos.
- Variables tipo Entero, Real, Complejo, Cadena de caracteres. Ejemplo: a = −3, b = 0.5, c = 1 − %i, str = ’Hola Mundo’.
- Constantes. Ejemplo: %i, %e, %pi, %inf.
- Comentarios. El inicio de un comentario se indica con doble diagonal //.
- Ciclos for, while.
- Estructuras de decisión if-then-else y select-case-else.
- Funciones de Scilab y propias del usuario.
Estructura de un simulador para sistemas LTI
- Limpieza del ambiente.
- Construcción de funciones.
- Declaración de los parámetros del modelo.
- Declaración del vector de tiempo.
- Declaración del vector de estado, el vector de entradas, el vector de salidas y la condición inicial.
- Solución del sistema de ODEs de orden n.
- Graficación de resultados.
- Funciones importantes: clc, close, xdel, winsid, ode, csim, figure, plot.
Ejemplos de simuladores
- Tanque
- Sistema Masa-Resorte-Amortiguador
- Circuito RLC
Gráficas de Bode
Las gráficas de Bode permiten graficar la magnitud y la fase de una función de transferencia G(s) en función de la frecuencia.
Comando: bode.
Análisis de estabilidad de sistemas LTI
Sea el sistema LTI con modelo en espacio de estados:
Si A es no singular, el sistema LTI tiene un único punto de equilibrio xe = 0.
El punto de equilibrio xe = 0 es estable si para todo ρ > 0 existe algún r > 0 tal que si ||x(0)|| < r entonces ||x(t)|| < ρ, para todo t ≥ 0.
Si además existe algún r > 0 tal que si ||x(0)|| < r entonces
el punto de equilibrio xe = 0 es globalmente asintóticamente estable.
- Un sistema LTI es asintóticamente estable si los polos de la función de transferencia G(s) tienen parte real negativa.
- La matriz dinámica se puede descomponer como A = MΛM−1, donde Λ es la matriz de valores propios y M es la matriz de vectores propios.
- Un sistema LTI es asintóticamente estable si los valores propios de la matriz dinámica A tienen parte real negativa. Comandos importantes: denom, roots, spec.
Conclusión
Para concluir repasemos lo siguiente:
- SCILAB es un paquete de software libre de código abierto para computación científica, orientado al cálculo numérico, a las operaciones matriciales y especialmente a las aplicaciones científicas y de ingeniería.
- Las dinámicas de un sistema lineal invariante en el tiempo se pueden modelar por medio de la ecuación diferencial ordinaria (ODE) de orden n
- Las gráficas de Bode permiten graficar la magnitud y la fase de una función de transferencia G(s) en función de la frecuencia.
- Un sistema LTI es asintóticamente estable si los polos de la función de transferencia G(s) tienen parte real negativa.
Hasta aquí termina la sesión y como puedes notar vas muy bien en tu aprendizaje. ¡Mis felicitaciones! No olvides hacer la tarea asignada, hasta luego.