TP 3 Octave - Université Paul Sabatier

publicité
Université Paul Sabatier
Filières Méca. / G.Méca. / G. Civil / G. Ener.
L3 Informatique Scientifique
2016-2017
Travaux Pratiques n°4
Octave / Matlab
durée : 2h00 — Florian Bugarin, David Lo Jacono.
Exercice 1 : Calcul itératif
Soit la suite numérique (xi )i∈N définie par :
xi+1 =
xi + p
,
xi + 1
x0 ∈ R.
(1)
où p ∈ R est une valeur choisie par l’utilisateur. Ecrire le programme calcIter1.m qui :
— lit une valeur p
— lit une valeur x0
— lit n, le nombre d’itérations
— calcule et affiche la suite des itérés de x0 jusqu’à xn .
Que fait ce programme ? Ecrire ensuite un programme calcIter2.m dans lequel n, le nombre d’itérations, n’est plus spécifié. Dans ce cas, le calcul s’arrête lorsque |xi+1 − xi | < 1e−4 .
Exercice 2 : Utilisation des fonctions
En Octave, on définit les fonctions de la manière suivante :
function␣[varOut_1,...,varOut_M]=fonc(varIn_1,...,varIn_N)
où
— function est le mot clé indiquant le début de la fonction
— varOut_1,...,varOut_M sont les M variables de sortie de la fonction
— varIn_1,..., varIn_N sont les N variables d’entrée de la fonction
— fonc est le nom de la fonction.
Ainsi, les fonctions sont sauvegardées dans des fichiers qui doivent impérativement commencer par le
mot-clé function. Suivent, entre crochets, les variables de sortie de la fonction varOut_1,...,varOut_M,
le symbole =, le nom de la fonction fonc et enfin les variables d’entrée varIn_1,..., varIn_N entre
parenthèses. Si la fonction ne possède qu’une seule variable de sortie, les crochets sont inutiles. Il est
impératif que la fonction ayant pour nom fonc soit enregistrée dans un fichier de nom
fonc.m sans quoi cette fonction ne sera pas visible par Octave.
1) Saisie des termes d’un vecteur
Ecrire la fonction saisieVecteur.m qui prend en entrée la taille du vecteur, puis demande à l’utilisateur de saisir terme à terme les composantes du vecteur.
2) Saisie des termes d’une matrice
Ecrire la fonction saisieMatrice.m qui :
— prend en entrée le nombre de lignes et de colonnes de la matrice
— rempli terme à terme la matrice en demandant des valeurs à l’utilisateur
3) Inversion d’une matrice
Ecrire la fonction inverseMatrice.m prend en entrée une matrice et calcule son inverse si son
déterminant est différent de 0 et le message Impossible de calculer l’inverse de la matrice
sinon.
4) Produit d’une matrice et d’un vecteur
Ecrire la fonction produitMatriceVecteur.m qui vérifie si le nombre de lignes de la matrice et du
vecteur placés en argument sont identiques et qui renvoie le produit de la matrice et du vecteur si c’est
possible ou impossible de calculer le produit sinon.
5) Programme de résolution d’un système d’équations
Ecrire le programme resoudreEqLin.m qui permet de saisir les données d’un système d’équations
et de le résoudre en utilisant les fonctions précédentes.
Applications : résoudre le système


 3x + 4y − 5z = 3
−2x + 6y = 9
P:


x + 2y − 9z = 1
2
Téléchargement