05-12-2012 01:22 PM - modifié 05-12-2012 01:24 PM
Je place 2 boucles FOR imbriquées (la 2eme dans la 1ere)
Je place en entrée de ces 2 boucles FOR un Array 2D ... avec 2 noeuds d'indexation
Une fois "passé" le 1er noeud d'indexation ... j'ai une "rangée"
Une fois "passé" le 2eme noeud d'indexation ... j'ai un "élément" (de cette rangée).
La 1ere boucle FOR prélève les "rangées" une à une.
Question:
Existe-t-il un moyen, une option quelconque, permettant de découper, non pas en rangées, mais en colonnes ???
(pour la 1ere boucle FOR)
La fonction "index array" permet cela,
Un noeud d'indexation serait-il d'office configuré pour découper un 2D en rangées (uniquement) ??
merci.
le 05-12-2012 02:04 PM
Utiliser une fonction "Transposer un tableau 2D" en amont de la première boucle for ?
--
jihef
05-12-2012 02:37 PM - modifié 05-12-2012 02:38 PM
oui, "cela" résoud le problème, merci jihef
Ceci dit, c'est absurde
qu'une chose aussi puissante qu'un noeud d'indexation ne soit pas configurable dans ce sens.
A un point ... que l'on a créé une fonction pour "retourner" un Tableau ...
plutôt que de pouvoir configurer l'ordre d'indexation.
Désolé, je trouve cela complètement absurde. (cela n'engage que moi)
le 05-13-2012 03:52 AM
J'allais placer "ça" sur LabVIEW Idea Exchange ...
mais cette fonctionnalité a déjà été proposée à plusieurs reprises ... ici
LabVIEW est un outil absolument fabuleux, y'a pas photo !
Mais c'est "fou" comme ses Développeurs restent parfois sourd à certaines choses évidentes ... comme celle-ci.
Créer une fonction qui transpose le "cas particulier d'un 2D" ...
(créer une fonction pour un cas particulier ... ça ... ça me scie en deux !!)
au lieu de créer une "fonction générique de choix" sur le Tunel d'indexation lui-même !!
Sans compter qu'en "transposant" un Tableau, on en crée une copie en mémoire.
le 05-14-2012 02:45 AM
Hello ouadji,
Il y a une raison au fait que les développeurs peuvent hésiter à implémenter cette fonctionnalité, c'est la lisibilité du code. Toute la question est de savoir comment discerner à l'oeil un tunnel indexé sur telle ou telle dimension. D'ailleurs, le problème de la dimension du tableau se pose alors.
J'ai un tableau à 21 dimensions. Dois-je avoir 21 choix d'indexation ?
Pas si simple donc 😉
Cdt,
Eric
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
le 05-14-2012 03:09 AM
Bonjour Eric,
Quelque soit le nombre de dimensions:
- un "ordre" d'indexation par défaut
- si l'ordre n'est plus celui par défaut ... un point rouge sur le tunel
- pour choisir l'ordre ... comme (par exemple) dans un Cluster ... Reorder Dimensions In Tunel
Ceci dit ... pour un Cluster, il n'y a pas "non plus" de moyen "visuel direct" pour voir l'ordre interne. (sur le BD)
le 05-14-2012 03:38 AM
@ouadji wrote:
Bonjour Eric,
- si l'ordre n'est plus celui par défaut ... un point rouge sur le tunel
- pour choisir l'ordre ... comme (par exemple) dans un Cluster ... Reorder Dimensions In Tunel
Ufff... alors ça pour la lisibilité ça me semble pire que le problème initial...
Le transpose ne me semble pas si mauvais que ça, de plus dans pas mal de cas on peut l'éviter en l'intégrant dans de display (Graph/chart) ou en indexant les dimensions du tableau dans le même sens qu'on souhaite ensuite les dépiler. Pour les quelque cas qui reste ou le transpose s'impose je ne pense pas que ce soit une évolution majeure de LabVIEW qu'il faut implémenter d'urgence.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
05-14-2012 03:52 AM - modifié 05-14-2012 03:54 AM
Bonjour à tous,
Un petit commentaire en passant: perso je n'utilise quasiment jamais de tableaux à plus de deux dimensions pour des questions de compréhension de code. Je préfère avoir des tableaux de clusters de tableaux.... pour avoir des noms dans des unbundles plutôt qu'un index array avec 15 dimensions.
Donc perso pour l'auto indexation ça ne gène pas, un transpose de temps en temps et c'est tout. En plus le fait de rajouter des options surcharge plus l'environnent qu'autre chose...
Ce n'est que mon humble avis
le 05-14-2012 03:58 AM
"Ufff... alors ça pour la lisibilité ça me semble pire que le problème initial..."
Question de point de vue (mais je respecte)
Encore une fois, cela ne semble gêner personne ...
... et un Cluster qui n'est pas organisé convenablement ... ça met la pagaille dans le code tout autant.
donc, je ne vois pas ou est le soucis de "lisibilité",
peut-être changer le nom du Tunel d'indexation et l'appeler Cluster ? ... je taquine ... quoique ....
le 05-14-2012 04:11 AM
Je ne vois pas trop la similitude entre un tableau 2D et un cluster
Oui, on peut réorganiser un cluster mais pas pendant l'exécution. Quant à l'accès aux données, pour un cluster on a le unbundle et pour le tableau l'index array. L'auto-indexation à l'entrée d'une boucle est juste un nice to have. Enfin pour moi.
Question de point de vue.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus