Vous êtes sur la page 1sur 3

UPMC - Licence Elec.

L2 S2
UE Calcul Scientifique ; initiation à MATLAB (LE205)

Examen
Date : 05 septembre 2005
Documents autorisés

Remarques : * pour chacun des exercices, vous écrirez vos réponses dans un script ; le nom de
ce script devra être composé de votre nom, prénom et numéro de l’exercice (exemple :
clady_xavier_exo1.m).
* veillez à ce que chaque graphe ait un titre, des noms aux axes, une légende, etc…,
sinon vous n’aurez pas tous les points, même si le résultat est correct.

Exercice 1

Un pendule simple est formé d'une boule de masse m suspendu par un fil supposé sans masse
et de longueur L. Lorsqu'on écarte le pendule de sa position d'origine de distance A et on le
lâche sans vitesse initiale, la boule oscille avec la fréquence :

w=sqrt(L/g)

En absence d’amortissement, la position de la boule est décrite par la fonction :

X=A sin(wt+pi/2)

On donne:

L=2.5m
A=0.1m
g est l’accélération de pesanteur (9.81m/s^2)

o Créer les différentes variables données en haut, et calculer w.


o Créer un vecteur t et calculer le vecteur de valeurs de X.

Remarque : avec la valeur donnée de L, w est voisin de 0.5s^(-1) et la période des oscillations
(T=2pi/w) est voisine de 12s. Le vecteur t doit contenir plusieurs périodes et être incrémenté
d’une façon adéquate.

o Tracer X en fonction de t

Si le pendule subit un amortissement, le déplacement est décrit par l’équation :


X=Aexp(-kt/2)sin(wt+pi/2)
où k est le coefficient d'amortissement. On donne k=0.1s^(-1).
o Créer un nouveau vecteur Xa avec les valeurs de X dans le cas amorti.
o Tracer sur le même graphe X et Xa en fonction de t.
o Ajouter des titres aux axes.
o Ajouter une grille.
o Ajouter une légende.
Exercice 2

4 éleveurs vont au marché au bétail pour vendre leurs bêtes.

Le premier a vendu un veau, 2 vaches et un mouton pour 3100 euros. Le second, deux veaux,
3 vaches et 4 cochons pour 6700 euros. Le troisième a vendu un veau, un cochon et un
mouton pour 1650 euros. Enfin le quatrième a vendu un veau, une vache, un cochon et un
mouton pour 2650 euros.

A l’aide de MatLab, déterminez la valeur d’un mouton.

Exercice 3

Un épicier fait régulièrement appel à un grossiste pour lui acheter un produit A au poids. Au
bout d’une douzaine de commandes, il s’aperçoit que le prix du produit ne varie pas
proportionnellement au poids. Il se met alors en tête de déterminer la loi qu’applique son
grossiste, afin d’optimiser ses futures commandes, à partir de l’échantillon ci-dessous (cf.
tableau).

1) Réalisez et affichez des interpolations polynomiales d’ordre 1, 2 puis 3, du prix en


fonction du poids (Attention à correctement trier les valeurs du tableau).

2) Déterminez mathématiquement laquelle de ces interpolations correspond le mieux aux


données du tableau.

3) L’épicier a l’intuition de le prix au kg décroît avec le poids. A l’aide de MatLab (une seule
ligne de code suffit), complétez la troisième ligne du tableau.

Poids 10 60 45 75 2 40 99 24 53 72 14
(kg)
Prix 9,75 51,05 39,94 60,94 1,99 36 74,50 22,56 45,98 59,04 13,51
(euros)
Prix au kg
(euros/kg)

4) Réalisez une interpolation polynomiale d’ordre 1 du ‘prix au kg’ en fonction du poids.


Est-ce que ce résultat est en accord avec celui des questions 1) et 2).

5) A partir des résultats aux questions précédentes, écrivez deux fonctions MatLab
‘nom_prenom_prix.m’ et ‘nom_prenom_prixaukg’ qui prennent toutes les deux, le poids
comme argument d’entrée, et donnent respectivement le prix et le prix au kg
correspondant.
Exercice 4

On veut écrire un programme qui permettra à l’utilisateur de rentrer une matrice carrée (nxn)
et qui propose à travers un menu de calculer soit le déterminant soit la trace de la matrice.

Pour cela, on crée une fonction que l’on appellera CalculMat qui prend en argument un entier
n et qui renvoie par le biais d’une variable que l’on appellera result soit la trace soit le
déterminant de la matrice.

Etapes à suivre :
1) Créer la fonction CalculMat
2) Demander à l’utilisateur de rentrer composante par composante la matrice que l’on
appellera A. On vérifiera pour chaque composante que l’utilisateur rentre un réel. On
enverra un message d’erreur puis l’on interrompra le programme si l’utilisateur rentre
autre chose qu’un nombre. On pourra pour cela faire intervenir une variable booléenne
que l’on appellera sortie, qui si elle est à 1 indiquera au programme d’envoyer un
message d’erreur et de s’arrêter.
3) On affichera ensuite à l’utilisateur la matrice à l’aide de la fonction disp.
4) On crée ensuite un menu qui proposera soit le calcul du déterminant soit le calcul de
la trace de la matrice.
5) On traitera la requête de l’utilisateur, et selon le cas on affichera une phrase du type :
« Le determinant/La trace de la matrice est … ».

Exercice 5

Il s'agit de l'écosystème bien connu de VitoVolterra (Italien, 1860-1940). On considère deux


populations : l'une de lapins, l'autre de renards reliées par les équations

dr
= 2r − αrf
dt

df
= − f + αrf
dt

avec r le nombre de lapins, f le nombre de renards, et t le temps donné en années. En


utilisant ode23, calculez et tracez la solution de ce système différentiel, pour α = 0.01 sur
l'intervalle [0, 25] pour les conditions initiales r0= 300 et f0 = 150.

Vous aimerez peut-être aussi