le 08-19-2010 06:22 AM
Bonjour à tous;
J'ai un problème concernant la fonction " In range and Coerce". En faite j'utilise cette fonction pour avoire seulement une partie d'un tableau. Dans ce tableau il y a plusieurs fréquences et moi j'aimerai bien obtenir les fréquences comprises entre 10 MHz et 20 MHz seulement. Ce tableau est à 1D et sa taille est 200, je l'injecte à l'entrée de cette fonction en définissant également la limite basse (10MHz) et la limite haute(20MHz), à la sortie je récupère un autre tableau de 1D et de taille 200, lorsque je lis ce tableau je trouve les fréquences voulus mais avec plusieurs valeurs répétés de 10MHz 20MHz dont je n'ai pas besoin, en fait je m'attend à trouver un tableau de taille inférieure à celle du tableau d'entrée qui contient juste les valeurs comprises strictement entre 10 et 20 MHz. Je travaille avec labview 6i sous windows 95. J'aimerai bien que j'ai bien exposé ce problème.
Cordialement;
le 08-19-2010 06:40 AM
Bonjour,
Le probleme est que cette fonction arrondie les valeurs qui ne sont pas dans la gamme. Pour avoir un tableau de taille inferieure, il y a Array Subset, qui permet d'extraire une partie d'un tableau.
Il lui faut un point de depart et une longueur, donc en lisant l'index de la limite basse et l'index de la limite haute, une soustraction suffit. Je joins le vi au cas ou je n'ai pas ete tres clair.
le 08-19-2010 07:06 AM
Voici un exemple (avec l'état False ajouté pour montrer son contenu) :
Le principe est le suivant :
le 08-19-2010 09:55 AM
Merci beaucoup pour vos réponses rapides, je trouve que la dernière suggestion est la solution dont je me suis attendé, et je vais l'essayée mais il me reste une petite question en ce qui concerne la structure condition à l'intérieure de la boucle for, comment faire avec le cas false parce que labview dit qu'il ya une erreur tant que le cas false de la structure condition n'est pas cablé, Comment on peut le comprendre de ne rien faire dans ce cas?.
Encore merci beaucoup pour vos aides précieuses.
le 08-19-2010 10:14 AM
Il faut le cabler mais juste le registre a decalage (le fil en noir avec la croix) sans ajouter au tableau comme avec le cas true. Donc dans le cas false il renverra directement le tableau dans le registre a decalage.
le 08-19-2010 01:08 PM
Merci beaucoup Monsieur Simon, votre suggestion marche correctement. Elle répond convenablement au problème que j'ai rencontré dans ce programme.
Merci beaucoup, votre aide est vraiment précieuse.
Cordialement;
le 08-20-2010 01:14 AM
Votre version de LV n'est plus installée depuis longtemps sur ma machine et il m'était par conséquent impossible de poster un VI que vous auriez pu ouvrir. Désolé pour la confusion que l'ajout de l'état False a pu générer mais c'était le moyen le plus simple pour vous montrer son contenu.
le 08-20-2010 06:18 PM
Non absolument pas Monsieur Simon, il ne y a pas de quoi, mais en tout cas le programme que vous m'avez suggérer répond à mon besoin convenablement. S'il vous plait, j'ai un problème avec la fonction "peak detect and valleys": j'ai un tableau de 1D et de taille 1000, ce tableau contient des fréquences et parmi ceux-ci je cherche seulement ceux qui présentent les creux (Valleys)en fait la fonction ca marche, elle me donne les fréquences correpondants aux creux, mais pas tout le temps parfois les valeurs sont décalées des fréquences exactes et parfois elle donne deux valeurs d'une seule fréquences( valeurs répétées). Je sais pas d'où il vient ce problème?.
Cordialement;
le 08-23-2010 03:59 AM
Juste pour qu'il n'y ai pas de confusion, ce n'est pas mon programme mais celui de JB
le 08-23-2010 04:56 AM
Vous devez me confondre avec SimonD31 ! Ceci mis à part, je vous suggère de créer un nouveau message car votre nouvelle question n'a rien à voir avec la précédente.