Você está na página 1de 15

Arreglos y Clusters

Vamos a examinar la variedad y tipos de arreglos de datos y le da una introduccin a la


creacin y manipulacin de matrices y clusters.
MATRICES: Una matriz, que se compone de elementos y dimensiones, o es un control o
un indicador, no puede contener una mezcla de controles e indicadores. Los elementos
son los datos o valores contenidos en la matriz. Una dimensin (D) es la longitud, la altura
o la profundidad de una matriz. Las matrices son muy tiles cuando se trabaja con una
coleccin de datos similares y cuando se desea almacenar el historial de clculos
repetidos.
Los elementos de la matriz se ordenan de acuerdo a un ndice. Para cada valor del ndice
hay un elemento correspondiente en la matriz, y se puede utilizar el ndice para acceder a
un elemento especfico de la matriz.
En el software NI LabVIEW, el ndice de la matriz se inicia en cero. Esto significa que si
una de una matriz unidimensional (1D) contiene n elementos, el rango de ndice es de 0 a
n - 1, donde el ndice 0 apunta al primer elemento de la matriz y el ndice n - 1 apunta al
ltimo elemento de la matriz.
CLUSTERS: Son grupos de elementos que pueden contener datos de distinto tipo. Un
ejemplo de un grupo es el cluster de error LabVIEW, el cual combina un valor booleano,
un valor numrico, y una cadena de caracteres (string). Un clster es similar a un registro
o una estructura en lenguajes de programacin basados en texto.
Al igual que las matrices, un cluster puede ser un control o un indicador y no puede
contener una mezcla de controles e indicadores. La diferencia entre los clusters y
matrices es que un cluster puede contener tipos de datos mixtos, pero una matriz puede
contener un solo tipo de datos. Otra diferencia entre los clusters y las matrices es que un
cluster en particular tiene un tamao fijo, mientras una matriz en particular puede variar de
tamao.
Creacin de matrices y clusters con controles e indicadores.
Para crear una matriz en LabVIEW, se debe crear la estructura del arreglo en el panel
frontal y luego colocar un elemento dentro de la estructura del arreglo, como un control
numrico, booleano, o de forma de onda o un indicador.
Para ello:
1. Crear un nuevo VI.
2. Hacer clic derecho en el panel frontal para mostrar la paleta de controles.

3. En la paleta de controles, vaya a Modern Array, Matrix, y Cluster y arrastre la


estructura del arreglo en el panel frontal.

4. En la paleta de controles, vaya al Modern Numeric y arrastre un indicador


numrico y sultelo dentro de la celda del arreglo.

5. Colocar el ratn sobre la matriz y arrastrar el lado derecho de la matriz para


expandirlo y mostrar tantos elementos como la cantidad de columnas que se quiera
dar al arreglo.

Los pasos anteriores corresponden a la creacin de un arreglo 1D (una dimensin).


Veamos cmo crear matrices de ms dimensiones:

En una matriz de elementos 2D. Cada elemento tiene dos valores del ndice
correspondiente, un ndice de fila y un ndice de columna. Como con una matriz 1D, los
ndices de una matriz 2D comienzan desde cero.
Para crear una matriz 2D, primero debe crear una matriz de 1D y luego agregar una
dimensin a la misma. Volvamos a la matriz 1D que se cre anteriormente.
1. En el panel frontal, haga clic en la visualizacin de ndice y seleccione Agregar
dimensin (Add dimensin) en el men contextual.

2. Coloca el ratn sobre la matriz y arrastre la esquina de la matriz para expandirlo


hasta mostrar las filas y columnas que necesite.

Hasta este punto, los elementos numricos de las matrices que se han creado aparecen
atenuados y con valor cero. Un elemento de la matriz atenuada indica que el elemento no
est inicializado. Para inicializar un elemento, haga clic en dentro del elemento y sustituir
el 0 atenuado con un nmero de su eleccin.

Se puede inicializar los elementos con cualquier valor que se elija, donde, obviamente, no
necesariamente tienen que ser los mismos valores que se muestra arriba.
Creacin de matrices constantes:
Se puede utilizar las matrices constantes para almacenar los datos constantes o como
una base de comparacin con otra matriz.
1. En el diagrama de bloques, haga clic para mostrar la paleta de funciones.
2. En la paleta de funciones, vaya a Programing Array y arrastre Array Constant
(matriz constante) al diagrama de bloques.

3. En la paleta Function Programing Numeric y arrastrar y soltar la constante


numrica dentro de la estructura del arreglo constante.

4. Cambiar el tamao de la matriz constante e inicializar algunos de los elementos

Arreglos de Entrada y Salida


Si se conecta una matriz como entrada de una estructura for, LabVIEW ofrece la opcin
de establecer automticamente los valores de cuenta del lazo para el tamao de la matriz
mediante la funcin de Auto-Index. Puede activar o desactivar la opcin de auto-indexing
al hacer clic derecho en el tnel de la estructura por donde se conecta a la matriz y
seleccionando Enable Indexing (Disable Indexing).
Si se activa el auto-index, en cada iteracin del lazo se pasa el elemento correspondiente
de la matriz.

Cuando conecta la salida de un lazo for, y habilita Auto-Indexing se genera una matriz de
salida igual en tamao a la cantidad de iteraciones ejecutadas por el lazo, y contiene la
salida los valores generados en el bucle.
1. Crear un nuevo VI.
2. Crear e inicializar dos matrices constantes 1D, que contenga seis elementos
numricos, en el diagrama de bloques aparece algo similar a lo que se muestra a
continuacin.

3. Crear una matriz de indicadores numricos 1D en el panel frontal. Cambiar el tipo


numrico a un entero de 32 bits. Haga clic derecho en la matriz y seleccionar
Representation I32.

4. Crear un lazo en el diagrama de bloques y colocar una funcin ADD dentro del lazo
for.
5. Conectar una de las matrices constantes a la terminal de la funcin ADD.

6. Conectar el otro arreglo al otro terminal de la funcin ADD.

7. Conectar la salida del bloque de suma al arreglo de indicadores

8. El aspecto de su diagrama final debera ser algo as:

Diagrama de bloques

Panel Frontal
9. Si ahora corremos el programa vemos que en los indicadores del panel frontal nos
aparece la suma de los elementos correspondientes de las matrices constantes.

Tenga en cuenta que si se habilita el auto-index en el tnel, y operamos con ms de una matriz, el
nmero de iteraciones ser igual a la menor de las dimensiones. Por ejemplo, en el
siguiente figura, el lazo est configurado para ejecutarse de 15 iteraciones, Array 1 contiene 10
elementos, y la matriz 2 contiene 20 elementos. Si se ejecuta el VI en la figura siguiente, el lazo se
ejecuta 10 veces y el resultado Array contiene 10 elementos. Que es la dimensin de la menor.

Se pueden crear matrices de orden superior utilizando lazos for anidados y el Auto-Index,
como se muestra a continuacin. El ciclo for exterior crea los elementos de la fila, y el
ciclo for interior crea los elementos de la columna.

Creando Clusters
1. Crear un nuevo VI.
2. Haga clic derecho en el panel frontal para mostrar la paleta de controles.
3. En la paleta Controls, vaya a Modern Array, Matrix, y Cluster y arrastre el cono
de clster al panel frontal.

4. Redimensione la celda del Cluster tal que pueda incluir en ella varios elementos.

5. En la paleta Controls, en ModernNumeric seleccione y arrastre al interior de la


celda un control numrico.

6. En la paleta Controls, en ModernString & Path seleccione un String Control y


arrstrelo al interior de la celda.

7. En la paleta Controls, en Modern Boolean seleccione un Vertical Toggle


Switch y arrstrelo al interior de la celda.

8. El cluster debera tener una apariencia similar a esta:

Ahora puede conectar controles numricos, strings y booleanos con un solo cable, y luego
separarlos cuando convenga.
Creacin de Constantes Clusters
Al igual que en las matrices constantes, se puede utilizar las constantes de clusters para
almacenar datos constantes o como una base de comparacin con otro grupo. Crear
grupos de constantes de la misma manera que ha creado una amplia variedad de
constantes en los pasos descritos anteriormente.

Si usted ya tiene un cluster con un grupo de controles o indicadores y quiere hacer una
clster constante que contiene el mismo tipo de datos, haga una copia del cluster en el
diagrama de bloques ya continuacin, haga clic en la copia y seleccione Change to
Constant en el men contextual.

Funciones Clusters

Vamos a examinar las principales funciones asociadas a los clusters, que nos permiten su
manipulacin, que son las funciones Bundle, Unbundle, Bundle By Name, y Unbundle
By Name.

Usamos la funcin Bundle para armar un cluster a partir de elementos individuales.


Para colocar elementos en la funcin Bundle, use su ratn para redimensionar la funcin
o click derecho en la funcin seleccionando Add Input.

Use las funciones Bundle By Name o Bundle para modificar un cluster existente. Puede
redimensionar con la funcin Bundle By Name de la misma manera que con la funcin
Bundle.

La funcin Bundle By Name es muy utilizada para modificar clusters existentes porque se
puede saber exactamente que element del cluster se est modificando. Por ejemplo,
consideremos un cluster que contenga dos elementos strings llamados String 1 y String
2. Si usa la funcin Bundle para modificar el cluster, los terminales de la funcin en la
forma de abcs color rosa. No se puede saber que terminales de String 1 y que
terminales de String 2 modifica.

Sin embargo, si usa la funcin Bundle By Name para modificar el cluster, podr ver que
terminales del element String 1 modifica y que terminales de String 2.

Use la funcin Unbundle para desarmar un cluster en sus elementos individuales. Use la
funcin Unbundle by Name para reponer su nombre a un elemento especfico. Tambin
puede redimensionar mltiples elementos con las funciones Bundle y Bundle By Name.

Orden de los Clusters


Los elementos del cluster tienen un orden lgico no relacionados con su posicin en el
arreglo. El primer objeto que se coloca en el grupo es el elemento 0, el segundo es el
elemento 1, y as sucesivamente. Si se elimina un elemento, el orden se ajusta
automticamente. El orden de cluster se determina por el orden en que los elementos
aparecen como terminales en la funcin Bundle y Unbundle en el diagrama de bloques.
Se puede ver y modificar el orden en el cluster haciendo click en el borde de cluster y
seleccionando Reorder Controls In Cluster en el men contextual.

El cuadro blanco en cada elemento muestra su posicin actual en el orden del cluster. El
recuadro negro muestra nuevo lugar del elemento en el orden. Para establecer el orden
de un elemento de cluster, introduzca el nuevo nmero de orden en el cuadro de texto
Click to set to y haga clic en el elemento. Al cambiar el orden de un conjunto de
elementos, el orden de los otros conjuntos de elementos se ajusta automticamente.
Guarde los cambios haciendo clic en el botn Confirm en la barra de herramientas. Para
volver al orden original, haga clic en el botn Cancel.

Você também pode gostar