Voici le défi de février basé sur une réflexion par algorithme. Le but est de réduire l’amplitude d’un signal venant d’une suite de nombres que l’on ajoute.
Voici une suite de valeurs de départ [1, -6, -2, -1, 4, 4, -3]. A chaque instant vous ne pouvez prendre uniquement que la valeur la plus à droite ou la plus à gauche pour l’ajouter à la précédente. Au départ le signal est à 0. Le but est de faire en sorte que l’amplitude maximale soit la plus faible en ajoutant toutes les valeurs.
Par exemple si on prend comme valeurs [1, -6, -3, 4, 4, -2, -1] en les ajoutant dans ordre nous avons a+1, a-5, a-8, a-4, a, a-2, a-3 soit au maximum a-8 et a+1 et une amplitude minimale de 9.
Il faudra donc prendre les bonnes décisions pour les choix des valeurs extrêmes de droite et gauche pour avoir une suite dans un ordre bien précis. Pour [1, -6, -2, -1, 4, 4, -3] la solution est [-3, 4, 1, -6, 4, -1, -2] ce qui donne a-3, a+1, a+2, a-4, a, a-1, a-3 et une amplitude de 6. Plusieurs solutions sont possibles qui donne des amplitudes minimales identiques, aussi il faudra toujours sélectionner la valeur la plus à droite dans les choix avant de retourner le résultat final. (Essayez en commençant par 1).
Pour LabVIEW, les valeurs seront des entiers entre -99 et 99 et la liste d’entrée un tableau de maximum 50 valeurs. La sortie sera donc un tableau mis dans l’ordre ainsi qu’un indicateur avec l’amplitude minimale en entrée et sortie.
La valeur de vérification, autre que celle proposée en exemple sera donnée ultérieurement.
Vous pouvez vous servir du code joint comme point de départ (Version LabVIEW 2010)
Un Livre LabVIEW 2eme édition est à gagner. Le gagnant sera tiré au sort (basé sur les sorties du loto) sur les codes validés.
Envoyez votre code renommé Ch41_Amplitude_votre pseudo_ici.vi à emmanuel.roset@ni.com avant le 28 février. Et postez sur la communauté « code envoyé » pour vérifier la boite email en cas de non réception.
Bon défi remue-méninges