5
Obligations :
• La fonction simulation devra être contenue dans un fichier nommé simulation.m.
• Les 3 modèles de Cauchy seront codés dans 3 fonctions séparées : syst_libre.m,
syst_amorti.m et syst_force.m.
• Il est interdit d’utiliser des variables globales ; vous devez faire passer les paramètres
des modèles comme arguments d’entrée.
• Les simulations devront se faire selon la méthode choisie par l’utilisateur : ode23 ou
ode 45.
• Dans le cas d’oscillations non forcées, vous devrez inclure un test pour vérifier si les
conditions initiales ne sont pas nulles (dans ce cas, il n’y aura pas d’oscillations).
• Selon le choix de l’utilisateur (réalisé dans le programme principal), vous devrez
simuler le système non amorti, le système amorti ou le système amorti forcé.
• En sortie, vous renverrez les positions et les vitesses de la masse pour la (des)
simulation(s) réalisée(s).
Conseils :
• Pour simplifier votre code, notamment pour le choix des méthodes (ode23/ode45),
nous vous conseillons d’utiliser la fonction Matlab « feval » (help feval), qui permet
d’évaluer une fonction entrée en premier argument ; exemple :
t=1 :2*pi/30:10 ;
F=@sin;
ysin=feval(F,t) ;
F=@cos;
ycos=feval(F,t) ;
plot(t,ysin,t,ycos) ;
III.2.3 La fonction affichage
La fonction affichage gèrera l’affichage des résultats sous forme graphique :
• les courbes d’évolution des positions et des vitesses de la masse
• une animation du système (masse et ressort)
Obligations :
• La fonction affichage devra être contenue dans un fichier nommé affichage.m.
• Les courbes des positions et des vitesses pourront soit être dans 2 fenêtres séparées,
soit dans une seule mais dans 2 graphes séparés (subplot). Ce choix devra être laissé à
l’utilisateur.
• Les courbes devront comportées : titre, noms des axes, légende,…
• Enfin, vous devrez réaliser une animation graphique du système représentant
l’évolution de la masse dans l’espace comme sous la figure 4 :
o le ressort sera formé par 10 périodes d’une fonction sinusoïdale.
o la masse par un point « marqué » par un cercle dont vous aurez augmenté la taille (cf.
help plot) ; pour modifier la taille d’un marqueur (« marker »), vous devez modifier le
paramètre « Markersize » (un exemple est donné dans l’aide pour le paramètre
« LineWidth »).
o il est nécessaire d’utiliser « hold on/off » pour afficher à la fois la masse et le ressort
sur le même graphique.
o la fonction « axis » vous permettra de fixer les valeurs limites des axes (de sorte à les
garder constantes).
La figure 5 donne un synopsis de l’algorithme à développer.