Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Selector

Seleccionar elementos de entrada de un vector, una matriz o una señal multidimensional

  • Selector block

Bibliotecas:
Simulink / Signal Routing
HDL Coder / Signal Routing

Descripción

El bloque Selector extrae los elementos seleccionados de un vector, una matriz o una señal multidimensional de entrada basándose en los índices especificados. Las señales extraídas se pueden agrupar de forma distinta a las señales de entrada.

En función del valor introducido en el parámetro Number of input dimensions, se muestra una tabla de la configuración de la indexación. Cada fila de la tabla se corresponde con una de las dimensiones de entrada en Number of input dimensions. Para cada dimensión, se definen los elementos de la señal con la que se va a trabajar. Especifique una señal vectorial como una señal 1D y una señal de matrices como una señal 2D. Cuando se configura el bloque Selector para operaciones multidimensionales con señales, el icono de bloque cambia.

Por ejemplo, asuma una señal 6D con un modo de indexación basado en 1. La tabla del cuadro de diálogo del bloque Selector cambia para incluir una fila para cada dimensión. Si define las dimensiones como se muestra en la siguiente tabla, la salida es Y = U(1:end,2:6,[1 3 5],Idx4:Idx4+7,Idx5,Idx6(1):Idx6(2)), donde Idx4, Idx5 e Idx6 son los puertos de indexación para las dimensiones 4, 5 y 6.

FilaOpción de indexaciónÍndiceTamaño de salida
1Select all  
2Starting index (dialog)25
3Index vector (dialog)[1 3 5] 
4Starting index (port) 8
5Index vector (port)  
6Starting and ending indices (port)  

Puede usar un arreglo de buses como señal de entrada para un bloque Selector. Para obtener detalles sobre cómo definir y usar un arreglo de buses, consulte Group Nonvirtual Buses in Arrays of Buses.

Limitaciones

  • El parámetro Index no es ajustable durante la simulación. Si la Index Option de una dimensión se establece en Index vector (dialog) o Starting index (dialog) y se especifica un valor simbólico, incluido un objeto Simulink.Parameter, para el Index correspondiente en el cuadro de diálogo de bloque, el valor instantáneo al inicio de la simulación se usará en toda la simulación y el parámetro aparecerá como un valor alineado en el código generado. Consulte Tune and Experiment with Block Parameter Values. Puede ajustar el índice seleccionado de manera dinámica utilizando los puertos de indexación.

Puertos

Entrada

expandir todo

Señal de entrada y origen de los elementos de la señal de salida.

Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

Puerto externo que especifica un índice para la selección del elemento de salida correspondiente.

Puede especificar un entero con un ancho personalizado (por ejemplo, un entero de 15 bits o un entero de 23 bits) como un valor de la señal de indexación. Cuando se configura el ancho del entero, debe especificar el Mode como Fixed point, con Word length inferior o igual a 128, Slope igual a 1 y Bias igual a 0. Para obtener más información sobre cómo especificar un tipo de datos de punto fijo, consulte Specify Data Types Using Data Type Assistant.

Dependencias

Para activar un puerto externo de indexación, en la fila correspondiente de la tabla Index Option, establezca Index Option en Index vector (port), Starting index (port) o Starting and ending indices (port).

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Salida

expandir todo

Señal de salida generada a partir de los elementos seleccionados o reordenados de la señal de entrada.

Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

Parámetros

expandir todo

Especifica el número de dimensiones de la señal de entrada.

Uso programático

Parámetro de bloque: NumberOfDimensions
Tipo: vector de caracteres
Valores: integer
Predeterminado: '1'

Especifica el modo de indexación. Si se selecciona One-based, un índice de 1 especifica el primer elemento del vector de entrada. Si se selecciona Zero-based, un índice de 0 especifica el primer elemento del vector de entrada.

Uso programático

Parámetro de bloque: IndexMode
Tipo: vector de caracteres
Valores: 'One-based' | 'Zero-based'
Predeterminado: 'One-based'

Define, por dimensión, cómo deben indexarse los elementos de la señal. Seleccione los siguientes elementos en la lista:

  • Select all

    No es necesario realizar más configuraciones. Todos los elementos están seleccionados.

  • Index vector (dialog)

    Activa la columna Index. Introduzca el vector de los índices de los elementos.

  • Index vector (port)

    No es necesario realizar más configuraciones.

  • Starting index (dialog)

    Activa las columnas Index y Output Size. Introduzca el índice de inicio del rango de elementos que se van a seleccionar en la columna Index y el número de elementos que se van a seleccionar en la columna Output Size.

  • Starting index (port)

    Activa la columna Output Size. Introduzca el número de elementos que se van a seleccionar en la columna Output Size.

  • Starting and ending indices (port)

    No es necesario realizar más configuraciones.

    Si se usa esta opción, se genera una señal de salida de tamaño variable. Cuando se actualiza, la dimensión de salida se establece para que sea igual que la dimensión de la señal de entrada. Durante la ejecución, la dimensión de salida se actualiza en función de la señal que se introduce en la indexación.

    Cuando se registran los datos de la señal de salida, las señales que no están seleccionadas se rellenan con valores NaN.

Las columnas Index y Output Size aparecen según sea necesario.

Uso programático

Parámetro de bloque: IndexOptionArray
Tipo: vector de caracteres
Valores: 'Select all' | 'Index vector (dialog)' | 'Index option (port)' | 'Starting index (dialog)' | 'Starting index (port)' | Starting and ending indices (port)
Predeterminado: 'Index vector (dialog)'

Si la Index Option es Index vector (dialog), introduzca el índice de cada elemento de interés.

Si la Index Option es Starting index (dialog), introduzca el índice de inicio del rango de elementos que desea seleccionar.

Uso programático

Parámetro de bloque: IndexParamArray
Tipo: vector de caracteres
Valores: arreglo de celdas
Predeterminado: '{ }'

Especifica el ancho de la señal de salida del bloque.

Uso programático

Parámetro de bloque: OutputSizeArray
Tipo: vector de caracteres
Valores: arreglo de celdas
Predeterminado: '{ }'

Especifique el ancho de la señal de entrada del bloque para señales 1D. Introduzca -1 para heredarlo del bloque controlador.

Uso programático

Parámetro de bloque: InputPortWidth
Tipo: vector de caracteres
Valores: integer
Predeterminado: '3'

Especifique el intervalo de tiempo entre muestreos. Para heredar el tiempo de muestreo, establezca este parámetro en -1. Para obtener más información, consulte Especificar el tiempo de muestreo.

Dependencias

Este parámetro solo es visible si se establece en un valor distinto de -1. Para obtener más información, consulte, Blocks for Which Sample Time Is Not Recommended.

Uso programático

Parámetro de bloque: SampleTime
Tipo: escalar de cadena o vector de caracteres
Predeterminado: "-1"

Seleccione esta casilla para que Simulink® compruebe, durante la simulación, en el modo Accelerator o Rapid Accelerator, si alguno de los valores de índice están fuera del rango de índices válidos para la dimensión pertinente de la señal de entrada. Si un índice está fuera de rango, Simulink detiene la simulación y muestra un mensaje de error.

Nota

Si no selecciona esta casilla, los valores de índices fuera de rango pueden dar lugar a un comportamiento indefinido durante los modos de simulación Accelerator y Rapid Accelerator.

Simulink realiza esta comprobación durante el modo de simulación Normal, independientemente de si ha seleccionado esta casilla o no.

Uso programático

Parámetro: RuntimeRangeChecks
Tipo: vector de caracteres
Valores: 'Off' | 'On'
Predeterminado: 'Off'

Características del bloque

Tipos de datos

Boolean | double | enumerated | fixed point | half | integer | single

Paso directo

no

Señales multidimensionales

Señales de tamaño variable

Detección de cruce por cero

no

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.

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

Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

| |