Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Nan tableau moyenne

Bonjour

 

 

Je vous explique mon problème :

J'ai un tableau de données qui se rempli avec des nombres d'un calculs de valeurs elles mêmes provenant d'un appareil en usb.

Si lors de l'acquisition si un problème survient (débranchement du câble par exemple), les valeurs du calcul deviennent NaN. Mon tableau possède donc quelques valeurs de NaN jusqu'au rébranchement du câble.

 

Ensuite je fais la moyenne de ce tableau. Mais lorsqu'il y a même une seule valeur NaN dans le tableau le résultat du moyennage est NaN.

J'aimerai en faite pouvoir calculer la moyenne sur toutes les valeurs SAUF les NaN.

 

J'espère être clair

merci 

0 Compliments
Message 1 sur 5
3 763 Visites

Hello,

 

Lorsque tu rebranche le cable usb, tu as qu'à vider le tableau. Tu auras normalement plus de NaN.

Autrement, tu as qu'à faire une boucle qui éléve les NaN de ton tableau. (si jamais y a un VI "Is NaN or not a reference" qui existe) .

 

J'espère que ça répond à ta question.

 

Marc

0 Compliments
Message 2 sur 5
3 761 Visites

Hola!

 

Sans passer par une boucle, avec seulement une structure condition, tu viens tester ta valeur, si elle vaut Nan, tu ne fais rien (tu auras peut être à convertir ta valeur en string pour capter le NaN et comparer les deux chaines), sinon (si elle vaut donc une valeur) tu l'insères dans ton tableau.

 

J'espère avoir pu t'aider ^^

0 Compliments
Message 3 sur 5
3 754 Visites

Je me sens un peu obligé de répondre encore une fois avec un exemple à la clef. Comme précisé dans mon premier message il existe un vi pour vérifier si un nombre n'est pas un NaN. (Cf mon exemple)

Comme LV est bien fait, il supporte aussi les conversion NaN to string, chose d'on je n'était pas sûr, mais la première méthode reste mieux quand même.

 

Autrement pour la boucle for, cf l'exemple. Je pense que je ne laisse aucun doute sur ma réponse à présent. 

 

Propositon d'amélioration:

Si il y a souvent des NaN, dans ce cas il faut faire une "update" du Vi mean qui calcule la moyenne en même temps qu'il enlève les NaN.

 

Marc

0 Compliments
Message 4 sur 5
3 747 Visites

Merci pour vos réponse j'ai finalement trouvé comment faire mais vos méthode marchent aussi

 

0 Compliments
Message 5 sur 5
3 738 Visites