Introduction à la programmation sous MegaWave2 - Mélanges de Gaussiennes ======================================================================== 1. Récupérez sur le site web du cours le programme sample_gm.c et copiez-le dans votre répertoire my_megawave2/src/ 2. Compilez ce programme, puis utilisez-le pour générer 3*100 points à partir de lois gaussiennes de variance 1 centrée respectivement au points (0,1), (1,1) et (0.5,0). Pour créer le fichier (Flist) des centres, utilisez la ligne de commande echo "0 1 1 1 0.5 0 q" | flreadasc 2 centres Visualisez ensuite les 300 points à l'aide de la commande fkview -d 1 ... (remplacez les ... par le nom du fichier contenant les points) 3. Utilisation de gdb (debug): copiez sample_gm.c en sample_gm2.c, puis éditez sample_gm2.c et remplacer partout _gm par _gm2. Introduisez la ligne *((int *)0)=0; après le srand48, compilez sample_gm2.cpuis exécutez-le avec les même arguments qu'à la question 2. Constatez le bug. Utilisez ensuite gdb pour localiser le bug: cmw2 -light -g sample_gm2 gdb sample_gm2 run (où est à remplacer par ce qui suivait sample_gm2 lors de l'appel en ligne de commande) Manipulez gdb (commandes l,print *n, ...) 4. Corrigez sample_gm2 pour avoir effectivement la loi mélange (moyenne des densités), correspondant à X_U, où les X_i sont des v.a. de densités p_i et U v.a. uniforme sur 1,2,...N (mélange de N lois). Proposez une série de commandes pour comparer sample_gm et sample_gm2, et expliquez les résultats obtenus (on pourra par exemple générer seulement 3 points avec la loi donnée par le fichier centres)