es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

LabVIEW – ¿Cómo acumular datos en un arreglo?

Hice un programa diseñado para simular la intensidad de la luz cuando se colocan varias bombillas juntas. Tengo datos de intensidad de una bombilla en archivos xls. Por lo tanto, quiero que el programa funcione de la siguiente manera.

  1. Abrir el archivo xls. y obtener los datos.
  2. Colocar los datos en diferentes posiciones. Coloco un conjunto de datos (una bombilla) en cada hoja de Excel. Esto es para simular la colocación de la bombilla en diferentes lugares.
  3. Sumar los datos en la misma celda a través de las diferentes hojas.

Mi panel frontal y diagrama de bloques de LabVIEW son:

Mi problema es que este programa se ejecuta demasiado lentamente. ¿Cómo puedo mejorarlo? Tengo la idea de crear una matriz grande y acumular datos en esa matriz. Sin embargo, no sé cómo hacerlo. Las funciones “Insert Into Array” y “Replace Array Subset” no son adecuadas para mis fines.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Mejorando el rendimiento de un Programa que Simula la Intensidad de Luz de Múltiples Bombillas

    Resumen

    Como experto en TI especializado en lógica y LabVIEW, ha creado un programa que simula la intensidad de luz cuando se colocan varias bombillas juntas. El programa actualmente consta de los siguientes pasos:

    1. Abrir el archivo xls y obtener los datos.
    2. Colocar los datos en diferentes posiciones para simular la ubicación de cada bombilla.
    3. Sumar los datos en la misma celda en todas las hojas.

    Sin embargo, el programa se está ejecutando demasiado lento para sus necesidades. Ha considerado usar una matriz grande para acumular datos, pero no está seguro de cómo hacerlo ya que las funciones “Insertar en Matriz” y “Reemplazar Subconjunto de Matriz” no son adecuadas para sus propósitos.

    Solución

    Para mejorar el rendimiento de su programa, puede usar una matriz grande para acumular los datos de todas las hojas diferentes. Esto es lo que puede hacer:

    1. Antes del bucle que lee cada hoja, inicialice la matriz grande con el tamaño de los datos que va a leer. Puede usar la función “Inicializar Matriz” y establecer el tamaño en el número de filas y columnas de los datos en el archivo xls.
    2. Dentro del bucle que lee cada hoja, en lugar de sumar los datos en la misma celda en diferentes hojas, puede agregar los datos a la celda correspondiente en la matriz grande utilizando la función “Reemplazar Subconjunto de Matriz”. Para hacer esto, deberá especificar los índices de fila y columna de la celda donde se encuentran los datos en la matriz grande.
    3. Después del bucle, puede usar la función “Sumar Matriz 2D” para sumar los datos en la matriz grande a lo largo de cada columna. Esto le dará la intensidad total para cada posición.

    Al utilizar una matriz grande para acumular datos, puede evitar tener que leer los mismos datos varias veces de diferentes hojas, lo que debería mejorar el rendimiento de su programa.

    Aquí hay un ejemplo de cómo podría lucir el diagrama de bloques de LabVIEW con los cambios descritos anteriormente:

    [![Diagrama de bloques mejorado de LabVIEW][3]][3]

    Conclusión

    Al utilizar una matriz grande para acumular datos y al usar las funciones “Inicializar Matriz”, “Reemplazar Subconjunto de Matriz” y “Sumar Matriz 2D”, puede mejorar el rendimiento de su programa que simula la intensidad de luz cuando se colocan varias bombillas juntas. Esto se puede lograr evitando leer los mismos datos varias veces de diferentes hojas.

Comments are closed.