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
Añada un objeto de datos al gráfico como se describe en Añadir datos de Stateflow.
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]
.
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]
.
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.