Introduction au calcul scientifique Licence 2ème année - PC/SPI Travaux Pratiques, séance 3 Systèmes linéaires Exercice 1. La méthode du pivot de Gauss pour des systèmes simples. a) Écrire un programme C qui initialise deux constantes n et m à respectivement 3 et 4 avec la directive #def ine, et un tableau matrice de taille n×m contenant des nombre de type double. Ce tableau sera défini en variable globale, c’est-àdire avant la fonction main. b) Dans la fonction main, initialiser le tableau pour qu’il contienne la matrice augmentée du système x + y + z = 4, 2x + y + 3z = 9, x − y + 2z = 3. c) Écrire une fonction void af f iche() qui affiche le tableau matrice. Tester cette fonction pour vérifier qu’elle fonctionne correctement. d) Écrire une fonction void ajoute(double a, int l1, int l2) qui ajoute a fois la ligne l1 du tableau matrice à la ligne l2. Tester votre fonction en soustrayant 2 fois la première ligne à la deuxième et en affichant le tableau résultant. e) Écrire une fonction void multiplie(double a, int l) qui multiplie toute la ligne l du tableau par a. Tester votre fonction en divisant la deuxième ligne à par 2 et en affichant le tableau résultant. f) En utilisant les fonctions précédentes, programmez dans la fonction main la méthode du pivot de Gauss, en supposant que le i-ème pivot est toujours au croisement de la ligne i et de la colonne i, et qu’aucun échange de ligne n’est nécessaire. Utilisez votre programme pour résoudre le système ci-dessus. g) Modifiez votre programme afin que le tableau matrice soit initialisé avec la 1 matrice augmentée du système modifié suivant : x + y + z = 4, 2x + y + 3z = 9, x + 2z = 5. Votre programme permet-il de résoudre ce système ? Pourquoi ? Exercice 2. Modifiez votre programme pour qu’il puisse résoudre n’importe quel système linéaire. Votre programme affichera en sortie la matrice obtenue par la méthode du pivot de Gauss. 2
© Copyright 2024 ExpyDoc