Matlab – TP no2 Les fonctions 4/??
veut afficher plusieurs courbes sur un même graphe, il suffit d’utiliser la commande hold on
après la définition de chaque courbe.
Q 4.d) Afficher sur un même graphique les courbes de fonctions factorielle,
carre et puissance avec trois couleurs différentes, et les identifier.
4.2 Itération et vecteurs
On considère ici qu’un vecteur est un tableau (à une ligne) de nombres. En Matlab, le vec-
teur vcontenant les nombres 14,07,17,89 est défini par v = [14 07 17 89]. Le tableau
vide est noté [].
On peut également définir un vecteur ten concaténant (c’est à dire en collant bout à bout) les
vecteurs t1et t2:t = [t1 t2]. Enfin, on peut connaitre la longueur d’un vecteur vgrâce à
la fonction prédéfinie length, et sa ieme valeur avec v(i).
Q 4.e) Définir le vecteur vdans matlab, et demander sa longueur ainsi que sa 2ème
valeur.
Q 4.f) Dans des fichiers séparés, définir :
– la fonction pluspetit qui renvoie la plus petite valeur de v
– la fonction pairs qui renvoie le nombre de valeurs paires.
– la fonction somme qui renvoie la somme des valeurs.
Chacune de ces fonctions prendra un vecteur ven argument.
Q 4.g) écrivez une fonction Matlab qui renvoie le vecteur contenant les npremiers
entiers naturels : [1,2, ...., n]. Faites de même pour les carrés des npremiers entiers naturels
[1,4,9,16, ...., n2]
Q 4.h) On rappelle que la suite de Fibonacci est définie par f1=f2= 1 et pour tout
nplus grand que 2, fn=fn−1+fn−2. On a vu au TP précédent qu’on pouvait programmer
cette fonction avec un algorithme récursif (fibonacci(n) appelait fibonacci(n-1) et fibonacci(n-
2)), mais ce n’était pas très efficace : écrivez les premières valeurs de cette suite sur votre cahier
dans un tableau, et déduisez-en un algorithme différent de celui vu la dernière fois pour cal-
culer la suite de Fibonacci. Implémentez ensuite cet algorithme en Matlab. Etant donné n, on
veut renvoyer le tableau de toutes les valeurs fkpour kplus petit que n.
4.3 Composer des fonctions
L’intérêt principal des fonctions au niveau calculatoire est que l’on peut les composer comme
en Maths. En effet, toutes les fonctions que l’on a écrites renvoient un résultat, que l’on peut
utiliser comme argument pour une autre fonction : g(f(x)). Par exemple, si xest un réel, on
peut demander à Matlab de calculer minimum(cos(x),(sin(x)).
Q 4.i) Utilisez les fonctions divise et somme définies précédemment, ainsi que la
fonction matlab length pour calculer la moyenne des éléments d’un vecteur en matlab.
5 Questions en vrac
Q 5.a) Ecrire une fonction qui vérifie si un tableau est trié en ordre croissant.
Q 5.b) Ecrire une fonction qui fusionne deux tableaux triés en ordre croissant.