Vous êtes sur la page 1sur 3

SupGalile 8 octobre 2013

MACS1

Initiation aux projets numriques-TP1


Prise en main de Matlab

valuation
Les programmes comments sont rendre la fin de la sance ladresse suivante :
delourme@math.univ-paris13.fr
Pour cela, placer les fichiers envoyer dans un rpertoire TP1_NOMS, puis crer une archive de ce rpertoire laide de la
commande suivante :

tar cvf TP1_NOMS.tar TP1_NOMS


Remarques :
Les programmes non comments ne seront pas lus.
Les programmes qui ne sxcutent pas ne seront pas lus. Si un programme contient des erreurs, veuillez localiser vos
erreurs et expliquer ce quil faut faire pour les corriger.
Les exercices* sont obligatoires.

Avant de commencer
Crer un rpertoire TP_PROJETS_NUMERIQUES. Dans ce rpertoire, crer un rpertoire TP1.

1 Introduction Matlab
Exercice 1* : vecteurs et courbes
(script Exercice1.m)
1. Dfinir la variable x = 4 , calculer y1 = sin(x), y2 = cos(x) puis z = tan(x) partir de y1 et y2
2. Dfinir la variable x = [ 6 , 4 , 3 ], et calculer y1 = sin(x), y2 = cos(x). Calculer alors tan(x) en utilisant uniquement les
vecteurs prcdents.
3. Crer le vecteur x comment tant le vecteur alant de 0 2 par pas de h = 0.1. Quelle est la taille de ce vecteur ?
Reprsenter graphiquement la courbe sin(x) (commande plot).

Exercice 2* : manipulation de tableaux et de matrices


(script Exercice2.m)
1. Crer un vecteur ligne v1 contenant les entiers pairs de 2 16.
2. Crer un vecteur ligne v2 cinq lments en progression arithmtique entre 2 et 16.
3. Crer une matrice A de taille 6 5 dont chaque ligne est gale v2.
4. Dfinir le vecteur v3 = [0 1 2 50]. Quelle est la taille de ce vecteur ? Dfinir le vecteur v4 contenant les cinq
premiers lments de v3. Dfinir ensuite le vecteur v5 contenant les 5 premiers lments et les 5 derniers lments de
v3.
5. Dfinir la matrice
1 2 3 4 5 6 7 8 9 10
M = 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
Extraire de cette matrice les matrices

1 2 8 9 10  
3 7
N = 11 12 P = 18 19 20 et Q =
23 27
21 22 28 29 30

1
6. Dfinir les vecteurs v6 = [2 4 5 8 100], v7 = [1 3 5 99] puis le vecteur v8 = [1 2 3 4 5 8
99 100].
7. Dfinir une matrice alatoire M de trois lignes et sept colonnes. Combien de nombres sont suprieurs ou gaux 0.5 ?
que 0.8 ? o sont-ils situs ? (cf. commandes nnz et find)
Construire alors la matrice P obtenue partir de M en remplaant tous les nombres de M infrieurs ou gaux 0.4
par 0 et ceux strictement suprieurs 0.4 par 1.
Construire de mme la matrice Q obtenue partir de M en remplaant tous les nombres de M infrieurs ou gaux
0.5 par 3 et ceux suprieurs 0.5 par 1.
8. Quels sont les rsultats des deux sries dinstructions suivantes :
a = 1 : 16
a = reshape(a, 4 , 4) b = (1i + 1) * ( 1 : 16)
a1 = a ( : , 4 : -1 : 1) b = reshape(b, 4 , 4)
a2 = a(4 : -1 : 1 , 4 : -1 : 1) b1 = b
a3 = a b2 = b.
a4 = a.

Exercice 3* : algbre linaire


(script Exercice3.m)
1. Rsoudre matriciellement les systmes linaires suivants avec Matlab :

6x + y 5z = 10
2x + 2y + 3z = 11
4x 9y + 7z = 12


6x + y 5z = 10
2x + 2y + 3z = 2
8x + 3y 2z = 12



x + 2y + 3z + 4t = 1
2x + 3y + 4z + t = 2


2x + 4y 5z + 2t = 0
8x + y z + 3t = 1

Expliquez pourquoi Matlab affiche parfois un message derreur.


2. Diffrence entre A B et A. B : trouver deux matrices inversibles de tailles 3 3 telles que A. B = 0. Est-ce-possible
pour le produit matriciel standard ?

2 Programmation avec Matlab


Exercice 4* : cration dune fonction (calcul des racines dun polynme de degr 2)
Lobjectif de cet exercice est de crer une fonction qui calcule les racines (relles ou complexes) dun polynme p de degr 2,
donn par
p(x) = ax2 + bx + c.
1. Que doit faire cette fonction ? En dduire les variables dentre et de sortie de cette fonction.
2. Quelles sont les diffrentes tapes du programme ? Sur papier, crire le programme calculant les racines du polynme p.
3. Ecrire la fonction racines_P2 calculant les racines du polynme.
4. Test de votre programme dans le script Exercice4.m
Sur le papier, prvoir un test permettant de valider votre programme.
Ecrire ce test dans le script Exercice4.m.
Excuter votre script. Si Matlab donne une erreur, corriger les erreurs dexecution (syntaxe). Si les rsultats ne sont
toujours pas corrects, localiser vos erreurs.

Exercice 5 : dformation dun cercle


On rappelle que le cercle C de rayon r et de centre O(x0 , y0 ) est donn par son quation paramtrique : t [0, 2pi],
(
x(t) = x0 + r cos(t),
(1)
y(t) = y0 + r sin(t)

2
1. Ecrire une fonction trace_cercle qui trace le cercle de rayon r et de centre O. Quels sont les arguments dentre
et de sortie de votre fonction ?
2. Ecrire un script deformation_cercle qui modifie le cercle de rayon 1 et de centre O = (0, 0) de la manire
suivante :    
u(t) x(t)
=A
v(t) y(t)
o x(t) et y(t) sont donns par (1) avec x0 = y0 = 0 et r = 0 et A est une matrice carre de taille 2 2 et A est
lendomorphisme de R2 dfini par  
0.8630 0.1638
A=
0.1638 0.7325
3. Vrifier graphiquement que limage du cercle par lendomorphisme A est bien une ellipse. Que se passe-t-il si A est une
matrice diagonale ?