Main Content

Vectores y matrices en gráficos de Stateflow

Los vectores y las matrices combinan datos escalares en un único objeto de datos multidimensional. Puede modificar los elementos individuales o realizar operaciones aritméticas en vectores y matrices enteros. Para obtener más información, consulte Operaciones para vectores y matrices en Stateflow.

Definir datos de vectores y matrices

  1. Añada un objeto de datos al gráfico como se describe en Añadir datos de Stateflow.

  2. Establezca la propiedad Size del objeto de datos como las dimensiones del vector o la matriz. Consulte Especificar el tamaño de los datos de Stateflow. Por ejemplo:

    • Para especificar un vector columna de 4 por 1, introduzca 4.

    • Para especificar un vector fila de 1 por 4, introduzca [1 4].

    • Para especificar una matriz de 3 por 3, introduzca [3 3].

  3. Establezca la propiedad Initial value del objeto de datos. Consulte Valor inicial.

    • Para especificar un valor de cero para todos los elementos del vector o la matriz, deje Initial value vacío. Si no se especifica un valor inicial, todos los elementos se inicializan con 0.

    • Para especificar el mismo valor para todos los elementos del vector o la matriz, introduzca un valor escalar. Todos los elementos se inicializan con el valor escalar que se especifique.

    • Para especificar un valor distinto para cada elemento del vector o la matriz, introduzca un arreglo de valores reales. Por ejemplo:

      • Para inicializar un vector columna de 4 por 1, puede introducir [1; 2; 3; 4].

      • Para inicializar un vector fila de 1 por 4, puede introducir [1 2 3 4].

      • Para inicializar una matriz de 3 por 3, puede introducir [1 2 3; 4 5 6; 7 8 9].

  4. Establezca el nombre, el ámbito, el tipo base y otras propiedades del objeto de datos, como se describe en Establecer propiedades de datos.

Puede especificar el tamaño y el valor inicial de un vector o de una matriz usando una expresión. Las expresiones pueden contener una combinación de valores numéricos, constantes, parámetros, variables, operaciones aritméticas y llamadas a funciones de MATLAB®. Para obtener más información, consulte Especificar las propiedades de los datos utilizando expresiones de MATLAB.

Dónde pueden utilizarse vectores y matrices

Puede definir vectores y matrices en estos niveles de la jerarquía de Stateflow®:

  • Gráficos

  • Subgráficos

  • Estados

  • Funciones

Puede utilizar vectores y matrices para definir:

  • Datos de entrada

  • Datos de salida

  • Datos locales

  • Entradas de función

  • Salidas de función

También puede utilizar vectores y matrices como argumentos para:

  • Acciones de estado

  • Acciones de transición

  • Funciones de MATLAB

  • Funciones de tablas de verdad

  • Funciones gráficas

  • Funciones de Simulink®

  • Operadores de detección de cambios

Reglas de vectores y matrices en gráficos de Stateflow

Utilizar operandos de igual dimensión para las operaciones por elementos

Si se realizan operaciones por elementos en vectores o matrices con dimensiones desiguales, el gráfico genera un error de discrepancia de tamaño cuando se simula el modelo. Para obtener más información, consulte Operaciones para vectores y matrices en Stateflow.

No definir vectores y matrices con el tipo base ml

El tipo base ml solo admite datos escalares. Si define un vector o una matriz con el tipo base ml, el gráfico genera un error cuando se simula el modelo. Para obtener más información, consulte ml Data Type.

No utilizar números complejos para establecer los valores iniciales de los vectores y las matrices

Si se inicializa un elemento de un vector o una matriz usando un número complejo, el gráfico genera un error cuando se simula el modelo. Puede establecer los valores de los vectores y las matrices en números complejos después de la inicialización. Para obtener más información, consulte Complex Data in Stateflow Charts.

No utilice vectores ni matrices en los operadores de lógica temporal

Dado que el tiempo es una cantidad escalar, no se puede utilizar un vector o una matriz como argumento para un operador de lógica temporal. Para obtener más información, consulte Controlar la ejecución de gráficos con lógica temporal.

Temas relacionados