Bonjour à tous,
Je suis débutant avec le logiciel Matlab..
Après quelques cours sur le fonctionnement du logiciel, dans le cadre du cours de math, il nous est demandé d'étudier une application via Matlab..
J'ai choisi d'étudier le saut depuis l'espace de Félix Baumgartner à 39km d'altitude.
J'ai déjà coder une bonne partie du projet (des petits codes assez simple : évolution de la gravité, de la densité, allure de la chute sans frottement, vitesse maximale,..) mais ici je suis face à quelque chose d'un peu plus compliqué.. les équations différentielles..
En fait je voudrai tracer le graphique qui décrit l'altitude en fonction du temps (sans tenir compte, pour l'instant, qu'à un instant donné, il ouvre son parachute.. un peu comme une chute libre jusqu'au sol en fait.. l'ouverture du parachute, c'est pour plus tard )
Voici le code :
% Equation de départ : y" = -g + 1/(2*m)*A*K*rho*((y')^2)
- je crée la fonction:
1 2 3
| function dy=avecfrmt(t,y)
dy=[y(2);(-g + 1/(2*m)*A*K*rho*((y(2)).^2))];
end |
- retour dans le code "principal" :
1 2 3 4 5 6 7 8 9 10
| [T,Y]=ode45(@avecfrtmt,[0,500],[39045,0]); % felix saute a 39045 m d'altitude avec une vitesse initiale nulle. On observe sur un intervalle de temps de 0 à 500 secondes.
%plot(T,Y(:,1));
I=find(Y<0);
y2=Y;
y2(I)=nan;
plot(T,y2,'g')
title('Graphe de l''altitude en fonction du temps');
xlabel('Temps (sec)');
ylabel('Altitude (m)'); |
Je ne pense pas avoir d’erreurs dans l'équation de départ et cela semble correct.. mais voici le problème : je voudrai en fait maintenant faire varier "rho" (car la densité varie selon l'altitude..).
Mais je ne sais pas comment m'y prendre, lorsque j'essaye certains "trucs", Matlab ne compile pas..
Merci à ceux qui me liront jusqu'au bout et qui m'aideront !
Partager