Paquetes de identificación del sistema

13

He estado buscando una alternativa a la Caja de herramientas de identificación del sistema de Matlab, pero la coincidencia de los términos "sistema" e "identificación" confunde la búsqueda.

¿Hay alguna biblioteca independiente que esté escrita para este propósito? (en C ++, C #, Python, etc.)

jonsca
fuente
¿Estás buscando algún algoritmo específico? Mi experiencia con la mayoría de las cajas de herramientas de MATLAB es que usaré un puñado de funciones de ellas, como máximo. Es posible que tenga más éxito con una búsqueda más específica.
Jason R
@JasonR Muy cierto. He encontrado herramientas en otros idiomas específicas de series temporales en general, pero elementos específicos como los Modelos Hammerstein-Wiener (que ni siquiera estoy seguro de necesitar, pero aún así) han sido difíciles de precisar. Los sitios web en muchos de estos modelos también tienden a citar la Caja de herramientas de identificación del sistema. Puedo poner una respuesta junto con lo que he encontrado hasta ahora.
jonsca

Respuestas:

7

La caja de herramientas de identificación del sistema contiene funciones para

  • Identificación lineal del sistema y determinación de la función de transferencia.
  • Modelos no lineales de "caja negra"
  • Estimación del parámetro ODE
  • Identificación de series de tiempo

Uno de los sustitutos más prometedor para toda esta funcionalidad sería utilizar R . Dos paquetes que incorporan algunas de las funciones de la serie temporal son el paquete de Utilidades y análisis de series temporales y el Entorno de modelado flexible para modelado inverso, sensibilidad, identificabilidad, análisis de Monte Carlo. También compartió estas funciones el paquete de análisis y control de series temporales

Una opción para el cálculo y la manipulación de la función de transferencia (que intenta ser un sustituto de la caja de herramientas de Matlab Control Systems, que se superpone significativamente con la ID del sistema) es la Biblioteca de sistemas de control para Python , pero el CSL no tiene ninguna función para lidiando con la identificación del sistema, solo la capacidad de manipular las funciones de transferencia (gracias a JasonS por señalar esto). El Ch Control System Toolkit le permite a uno modelar sistemas lineales y determinar la función de transferencia.

Estoy seguro de que hay otros ejemplos, pero pueden tomar algunas excavaciones para descubrir.

jonsca
fuente
Gracias por el puntero a Control Systems Library para Python. Sin embargo, no parece tener ninguna función de identificación del sistema.
Jason S
@JasonS No he visto estas cosas desde hace bastante tiempo, pero intentaré encontrar un paquete mejor (seguramente hay algo por ahí en este momento). Si bien el CSL no tiene ninguna función explícita para la identificación del sistema, sí tiene una clase Python para tratar con las funciones de transferencia. Creo que tal vez aclararé la respuesta con eso.
jonsca
1

SIDPAC es un programa disponible gratuitamente de software.nasa.gov. Está dirigido a problemas de identificación del sistema de la aeronave, sin embargo, los métodos subyacentes son aplicables a otros tipos de problemas.

Charlie H
fuente
Hola Charlie, ya no parece estar disponible en su sitio. ¿Tienes un enlace directo?
jonsca