el 02-20-2013 06:20 AM
Buenas,
Muchas Gracias por la ayuda.
Te comento un poco lo que hace cada programa:
Agradecería cualquier sugerencia,
un saludo y muchas gracias,
02-20-2013 11:33 AM - editado 02-20-2013 11:58 AM
Hola.
Vamos por partes.
Promedio.vi calcula el promedio de los 100 primeros valores de una fila.
Este promedio se debe restar de cada unos de los miles de valores de esa fila y eso genera un nuevo array.
¿Es asi?
A lo que veo, el proceso se hace unica y exclusivamente de fila en fila. Ello me lleva a considerar que calculas el promedio de una forma poco eficiente para cada valor de la fila, lo que es absurdo, ya que se debe calcula solo una vez y restarlo de golpe a toda la fila.
Si aclaras un poco estos aspectos, el codigo se puede mejorar bastante.
Lo de incrementar el contador de filas en 8 posiciones no lo veo claro.
En mi opinion, si el proceso es por filas y dados los pocos elementos que usas, el tiempo de calculo no deberia llegar ni siquiera a un segundo. Te adjunto un ejemplo con tus datos y la operación que yo creo que quieres realizar.
Saludos.
Alipio.
el 02-21-2013 10:16 AM
Hola Alipio,
Muchas gracias por tu ayuda.
Como dices, lo que intento hacer es calcular el promedio de los 100 primeros de una fila, y este valor ir restandolo uno a uno a todos los componentes de la fila.
He sacado fuera del sub.vi "Loop_Muestras.vi", el calculo del promedio para que sólo me lo realice una sola vez, y el programa se ejecuta muchísimo más rápido.
Lo que te comento del contador de filas, es debido a que no tomo todas las filas, sino cada 8. Luego cada vez que el indice es correcto, me calcula la nueva fila restandole los promedios y me incrementa el contador 8 lugares.
Por otro lado, me podrías por favor reenviar el ejemplo guardandolo para labview 9?
Un saludo y muchas gracias,
el 02-21-2013 11:16 AM
Hola.
Te adjunto el ejemplo en Lv9. Como veras, se genera una matriz de 255x5000 y para cada fila se calcula el promedio de los primeros 100 elementos y este promedio se resta de cada uno de los 5000 elementos de la fila.
Todo el proceso se ejecuta en menos de un segundo, por lo que te recomiendo que lo acoples a tu aplicacion ya que el metodo del ejemplo es bastante más eficiente que el que usas ahora.
Saludos.
Alipio.
el 02-28-2013 04:52 AM
Hola Alipio,
Muchas gracias por tu ayuda. Lo he implementado para ejecutarlo únicamente en las filas que selecciono según el contador que te comentaba y me va muchísimo más rápido 😉
Un saludo!!
el 02-28-2013 12:37 PM
De nada. Aqui estamos para ayudar en lo que se pueda.
Si crees que alguna otra parte del codigo va lenta, avisa y podemos intentar mejorarla.
Saludos.
Alipio.