Contenido principal

Discrete State-Space

Implementar un sistema en espacio de estados discreto

  • Discrete State-Space block

Bibliotecas:
Simulink / Discrete
Simulink / Quick Insert / Discrete
HDL Coder / RCP and HIL

Descripción

El bloque Discrete State-Space implementa el sistema descrito por

x(n+1)=Ax(n)+Bu(n)y(n)=Cx(n)+Du(n),

donde u es la entrada, x es el estado e y es la salida. Los coeficientes de las matrices deben tener estas características, según se muestra en el siguiente diagrama:

  • A debe ser una matriz de n por n, donde n es el número de estados.

  • B debe ser una matriz de n por m, donde m es el número de entradas.

  • C debe ser una matriz de r por n, donde r es el número de salidas.

  • D debe ser una matriz de r por m.

El bloque acepta una entrada y genera una salida. La anchura del vector de entrada es el número de columnas de las matrices B y D. La anchura del vector de salida es el número de filas de las matrices C y D. Para definir el vector de estado inicial, utilice el parámetro Initial conditions.

Para especificar un vector o matriz de ceros para A, B, C, D o Initial conditions, utilice la función zeros.

Comportamiento del bloque para matrices vacías

Cuando las matrices A, B y C están vacías (por ejemplo, []), la funcionalidad del bloque pasa a ser y(n) = Du(n). Si el vector Initial conditions también está vacío, el bloque utiliza un vector de estado inicial de ceros.

Ejemplos

Puertos

Entrada

expandir todo

Vector de entrada, donde la anchura es igual al número de columnas de las matrices B y D. Para obtener más información, consulte Descripción.

Sugerencia

Para señales de entrada de enteros y de punto fijo, use el bloque Fixed-Point State-Space.

Tipos de datos: single | double

Salida

expandir todo

Vector de salida, con una anchura igual al número de filas de las matrices C y D. Para obtener más información, consulte Descripción.

Tipos de datos: single | double

Parámetros

expandir todo

Principal

Especifique el coeficiente de matriz A como una matriz de valor real de n por n, donde n es el número de estados. Para obtener más información sobre los coeficientes de matriz, consulte Descripción.

Uso programático

Parámetro de bloque: A
Tipo: vector de caracteres
Valores: escalar | vector | matriz
Predeterminado: '1'

Especifique el coeficiente de matriz B como una matriz de valor real de n por m, donde n es el número de estados y m es el número de entradas. Para obtener más información sobre los coeficientes de matriz, consulte Descripción.

Uso programático

Parámetro de bloque: B
Tipo: vector de caracteres
Valores: escalar | vector | matriz
Predeterminado: '1'

Especifique el coeficiente de matriz C como una matriz de valor real de r por n, donde r es el número de salidas y n es el número de estados. Para obtener más información sobre los coeficientes de matriz, consulte Descripción.

Uso programático

Parámetro de bloque: C
Tipo: vector de caracteres
Valores: escalar | vector | matriz
Predeterminado: '1'

Especifique el coeficiente de matriz D como una matriz de valor real de r por m, donde r es el número de salidas y m es el número de entradas. Para obtener más información sobre los coeficientes de matriz, consulte Descripción.

Uso programático

Parámetro de bloque: D
Tipo: vector de caracteres
Valores: escalar | vector | matriz
Predeterminado: '1'

Especifique el vector de estado inicial como escalar o vector. El vector de estado inicial no puede incluir valores inf o NaN.

Uso programático

Parámetro de bloque: InitialCondition
Tipo: vector de caracteres
Valores: escalar | vector
Predeterminado: '0'

Especifique el intervalo de tiempo entre muestreos. Consulte Especificar el tiempo de muestreo.

Uso programático

Parámetro de bloque: SampleTime
Tipo: vector de caracteres
Valores: escalar | vector
Predeterminado: '-1'

Atributos de estado

Utilice este parámetro para asignar un nombre único al estado del bloque. El valor predeterminado es ' '. Cuando este campo está vacío, no hay ningún nombre asignado. Cuando utilice este parámetro, recuerde estas consideraciones:

  • Un identificador válido empieza con un carácter alfabético o un guion bajo, seguido se caracteres alfanuméricos o guiones bajos.

  • El nombre de estado se aplica solo al bloque seleccionado.

Este parámetro activa State name must resolve to Simulink signal object cuando hace clic en Apply.

Para obtener más información, consulte C Data Code Interface Configuration for Model Interface Elements (Simulink Coder).

Uso programático

Parámetro de bloque: StateName
Tipo: vector de caracteres
Valores: nombre único
Predeterminado: ''

Seleccione esta casilla para requerir que los nombres de estado se resuelvan en un objeto señal de Simulink®.

Dependencias

Para activar este parámetro, especifique un valor para State name. Este parámetro solo aparece si se establece el parámetro de configuración del modelo Signal resolution en un valor distinto de None.

Uso programático

Parámetro de bloque: StateMustResolveToSignalObject
Tipo: vector de caracteres
Valores: 'off' | 'on'
Predeterminado: 'off'

Características del bloque

Tipos de datos

double | single

Paso directo

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

Capacidades ampliadas

expandir todo

Generación de código PLC
Genere código de texto estructurado mediante Simulink® PLC Coder™.

Historial de versiones

Introducido antes de R2006a