La Red de Conocimientos Pedagógicos - Currículum vitae - ¡Simulink! ¿Existen diferencias entre las funciones de las funciones definidas por el usuario de Matlab?

¡Simulink! ¿Existen diferencias entre las funciones de las funciones definidas por el usuario de Matlab?

Hay varios módulos de funciones definidas por el usuario en Simulink:

Fcn: adecuado para expresiones simples. La llamada simplicidad no significa necesariamente que la expresión sea corta, sino que la relación entre entrada y salida puede describirse directamente mediante una expresión, es decir, no se utiliza ni el estado ni el control del proceso. Lo que hay que tener en cuenta son las funciones. disponible en la expresión es finita (básicamente alguna función matemática simple). Se puede generar código C.

MATLAB Fcn: Quizás muchas personas comprendan mejor este módulo. Este módulo corresponde a un archivo M y la señal de entrada se puede emitir después de cualquier procesamiento. Puede utilizar cualquier función de MATLAB. Hay dos limitaciones principales: (1) No se puede generar código, por lo que las personas que se están preparando para hacer prototipos de control o simulaciones semifísicas deben intentar evitar su uso (2) En principio, no se pueden utilizar variables de estado, lo que significa que; solo se puede calcular la entrada en el momento actual. El proceso para obtener la salida, pero no puede usar la información en el momento anterior; si necesita usar la información en el momento anterior, generalmente necesita usar otros módulos externos (como integradores). o retrasos unitarios).

MATLAB Fcn integrado: similar a MATLAB Fcn, las diferencias son las siguientes: (1) se puede generar código C (2) los requisitos son mucho más estrictos que los de MATLAB Fcn y muchas funciones o cajas de herramientas no lo son; permitido para ser utilizado en EMF (debido a las limitaciones de la generación de código) (3) El módulo en sí admite múltiples entradas y múltiples salidas.

S-Function: Este es el módulo personalizado más difícil y poderoso de Simulink. En principio, se puede utilizar para implementar las funciones de cualquier módulo de Simulink. La mayor diferencia entre la función S y los módulos anteriores es que puede usar el estado. El código se divide en varias partes según el proceso de simulación: inicialización, cálculo de derivadas (la integración la completa el sistema Simulink), actualización de estado, cálculo. salida, procesamiento de terminación (ciclo durante la simulación) llamando a varios de ellos), lo que le da al usuario mucha libertad en la organización del código. La función s se puede implementar en lenguaje C o M, y el lenguaje M tiene diferentes niveles. Existen plantillas y ejemplos correspondientes para escribir funciones S, y se necesita algo de tiempo para comprenderlos si desea aprenderlos.

Un poco de experiencia personal al pensar y escribir, no hay garantía de exactitud absoluta, pero no debe haber errores u omisiones importantes. Espero que ayude al cartel original.