Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Problema con arrays, ordenar y extraer datos Labview

¡Resuelto!
Ir a solución

Hola que tal soy nuevo en labview así que espero y me ayuden... Digamos que tengo esta matriz:

 

3   5   3   7    3

4   3   2   5    2

5   9   5   10  5

6   10 6   14  6

7   7   4   9    4

8   2   1   3    1

 

y el resultado que busco es este:

 

8  2  1  3  1

4  3  2  5  2

3  5  3  7  3

7  7  4  9  4

5  9  5  10 5

6 10 6 14 6

 

Me baso en la columna 2 y 4, es decir el primer valor que busco es "2" (columna 2 fila 6) y que en su columna 4 tiene el valor de "3", y entonces tomo ese valor y lo busco en la columna 2 en cual lo encuentro en la fila 2 columna 2 y luego tomo su valor de la columna 4 que es "5" y lo busco en la columna 2... y así sucesivamente.

 

Lo que hice fue buscar el valor y obtener su posicion y el valor de su columna 4 guarde el valor y lo busque en la columna 2 de modo que obtuve la posicion de donde estaba y así con los demás numeros, ahora que tengo su posicion y ahora quiero extraer las filas de la matriz de acuerdo a su posicion  y guardarla en una nueva matriz , y ahí es donde me da error.

 

Espero haberme explicado y me puedan ayudar... Saludos y gracias. 

Descargar todos
0 kudos
Mensaje 1 de 11
9.277 Vistas

Les Adjunto el Archivo.  Es con Labview 2014 Saludos

0 kudos
Mensaje 2 de 11
9.275 Vistas
Solución
Aceptado por el autor del tema DamHhz

DamHnz,

 

Muy interesante tu post. Espero que no  sea tarea del colegio que tengas que resolver por ti mismo. Guiño

La solución a este y otros problemas similares es sencilla en LabVIEW utilizando los fundamentos para el manejo de arreglos. Te mando una liga de un tutorial externo a NI que habla al respecto:

https://www.scribd.com/doc/54789111/LabVIEW-Arrays-Tutorial

 

También te agrego un VI que hace lo que necesitas (en el control de inicio escribe el número 2 antes de correr el programa), espero que te sirva para afianzar tus conocimientos de la herramienta.

 

saludos.

 

 

Erwin Franz

Certified LabVIEW Architect, Certified TestStand Developer
Mensaje 3 de 11
9.159 Vistas

Hey gracías realmente me ayudo, y no, no es para el colegio, es para un proyecto que hago y como soy nuevo en labview apenas estoy entendiendo como funciona, entonces creo que aun me falta aprender más acerca :)...

 

Muchas gracías por la informacion y por ayudarme saludos.

0 kudos
Mensaje 4 de 11
9.127 Vistas

Excelente DamHhz!

 

me da gusto que te ayudo. Usar los foros es una excelente forma de aprender pero tambien ayudar a otros a aprender despues de ti.

 

saludos.

 

 

Erwin Franz

Certified LabVIEW Architect, Certified TestStand Developer
0 kudos
Mensaje 5 de 11
9.097 Vistas

Hola, crees que me pudeas ayudar, lo que pasa es que buscaba la forma de que al momento de buscar ese valor y lo encuentre remplazarlo con un 1 o 0, ya lo realice pero como manejo bastantes datos, realiza mucho procesamiento... crees que me puedas sugerir alguna alternativa para realizarlo. 

 

De antemano gracias, adjunto una imagen. Saludos

0 kudos
Mensaje 6 de 11
9.088 Vistas

Hola DamHhz,

 

Lo ideal es que cada pregunta nueva vaya en un post nuevo Guiño.  Me gustaria que me aclararas un poco mejor lo que necesitas:

Qué valor es el que quieres que sustituya por 0 o 1. Es indiferente la sustitución (no importa si pones 0s o 1s?)

Me ayudaría que pusieras la tabla inicial y la tabla final para poder visualizar mejor lo que necesitas.

 

saludos,

Erwin Franz

Certified LabVIEW Architect, Certified TestStand Developer
Mensaje 7 de 11
9.079 Vistas

Disculpa por voverlo a publicarlo por aquí es que soy nuevo y no sabía, pero bueno voy aprendiendo :D... Mira te adjunto la imagen, lo trabajaré con el que hiciste, bueno mira lo que busco es que cada vez que encuentra el numero por el ejemplo el inicial que es el 2 lo reemplaze por un 0, -8 o algún otro valor... El fin es que si llego a tener un repetido es decir tengo el 2 de nuevo en otra posicion del arreglo no me tome el primero, si no el segundo, y para que me evite eso pensaba reemplazarlo para que ya no vuelva a tomar ese primer valor , si no el siguiente.

 

Lo que hice fue poner un insert into array, como la imagen anterior que subi, la cual hace lo que quería, pero bueno me reemplaza toda la fila por otro valor... Pero lo necesito para el manejo de alrededor de 20 000 datos y entonces al hecharlo andar se tarda bastante jeje, es por eso que busco otra forma de hacerlo.

 

Espero y me haya explicado de antemano muchas gracias por tu tiempo y por ayudarme. Saludos espero y estes bien.

0 kudos
Mensaje 8 de 11
9.070 Vistas

Hola DamHhz,

 

Revisaste el tutorial  sobre arreglos?

Si el problema es hacer mas eficiente el metodo tu idea de cambiar dinamicamente la matriz original es funcional para que, en caso de repetirse digitos en la columna 2, no tengas una matriz resultante equivocada con filas repetidas.

Si esto es correcto (es lo que entendi) el ejemplo que te adjunto hace la busqueda, selecciona la fila y fuerza el reemplazo al final para que el inicio del ciclo siguiente sea con la matriz con el valor reemplazado.

En teoria hace lo que has pedido, espero que te sirva.

 

Saludos

0 kudos
Mensaje 9 de 11
9.032 Vistas

Sí los leí jeje, tambien utilice el replace y el delete pero no me daba el resultado... mi problema radica en que migro de lenguajes de programacion en codigo a grafico y hay ciertas cosas que no encuentro como hacerlas o que no sé que utilizar, en este caso fueron las estructuras... Pero voy a seguir estudiando Labview...

 

Con respecto al que pasaste era exactamente lo que buscaba, nunca me hubiera pasado por la mente el flat sequence, creo que aún soy muy novato :D, Mi estimado eres un GENIO mi ayudaste mucho, muchas gracias... Y pues a seguirle en esto.

 

Espero y estes bien, un saludo y gracias nuevamente.  

0 kudos
Mensaje 10 de 11
9.024 Vistas