où y1(t) est la pression artérielle, y2(t) est la pression veineuse et y3(t) est le rythme cardiaque. Dans ce système à un seul delai thau , l'historique est H=[93;5.66;1.23], (a) Dans un premier temps, vous devez développer une fonction MATLAB dont lappel sera: [t,y]=ottesen([t0,tFinal],delai)
Le vecteur ligne [t0,tFinal] contient le temps initial t0 et le temps final tfinal de la simulation et le delai est la valeur du délai (thau ). Les composantes suivantes devront être utilisées dans votre fonction: Utiliser la méthode numérique ode45, offerte par MATLAB, pour résoudre le problème avec conditions initiales sur chaque sous-intervalle. Il sagit dune méthode de Runge-Kutta dordre 4 à pas de temps variable. Cette méthode est décrite à la section 7.4.3 du manuel de référence. Il nest cependant pas essentiel de comprendre la théorie associée à lélaboration de cette méthode pour être en mesure de lutiliser. Lappel de cette fonction est similaire à celui des routines de la bibliothèque numérique du cours: [t,y]=ode45(eqdd,[tm,tmp],y0). Plutôt que davoir à donner le nombre de pas de temps, on fournit plutôt lintervalle de temps [tm,tm+1]. Le pas de temps h sera déterminé automatiquement par lalgorithme. Afin de vous familiariser avec cette méthode, vous pouvez résoudre un petit problème simple dont vous connaissez la solution. eqdd.m est une fonction MATLAB qui contient le membre de droite de lEDD (3), dont lappel sera: f=eqdd(t,y). Vous devez choisir, dans les algorithmes de la bibliothèque numérique du cours, la méthode dinterpolation à utiliser pour avoir accès à lhistorique de la solution. Justifier votre choix. Il pourrait être utile dutiliser la commande global qui vous permettra de passer des variables globales à la fonction eqdd.m. Expliquer bien comment vous procédez pour mettre en oeuvre votre fonction.
Marsh Posté le 29-11-2005 à 18:28:07
salut tous le mondej'ai un probleme avec cet exo qui peut m'aider
merci d'avance
voici le fichier que j'ai cree:
function dydt =eqqdd(t,y)
f = zeros(size(y));
global tq
k1=0.614;
k2=43.81;
k3=0.002;
k4=0.028;
Ts=1/(1+(tq/93).^7);
Tp=1/(1+(93/A).^7)
j(Ts,Tp)=(0.84*Ts)-(1.17*Tp);
H=[93;5.66;1.23];
A=y1;
B=y2;
C=y3;
dydt(1)=-k1*A+k1*B+k2*C;
dydt(2)=k3*A-(k3+k4)*B;
dydt(3)=j(Ts,Tp)
et voici l'exo en entier
où y1(t) est la pression artérielle, y2(t) est la pression veineuse et y3(t) est le rythme cardiaque. Dans
ce système à un seul delai thau ,
l'historique est H=[93;5.66;1.23],
(a) Dans un premier temps, vous devez développer une fonction MATLAB dont lappel sera:
[t,y]=ottesen([t0,tFinal],delai)
Le vecteur ligne [t0,tFinal] contient le temps initial t0 et le temps final tfinal de la simulation
et le delai est la valeur du délai (thau ). Les composantes suivantes devront être utilisées dans votre
fonction:
Utiliser la méthode numérique ode45, offerte par MATLAB, pour résoudre le problème avec
conditions initiales sur chaque sous-intervalle. Il sagit dune méthode de Runge-Kutta dordre
4 à pas de temps variable. Cette méthode est décrite à la section 7.4.3 du manuel de référence.
Il nest cependant pas essentiel de comprendre la théorie associée à lélaboration de cette
méthode pour être en mesure de lutiliser. Lappel de cette fonction est similaire à celui des
routines de la bibliothèque numérique du cours:
[t,y]=ode45(eqdd,[tm,tmp],y0).
Plutôt que davoir à donner le nombre de pas de temps, on fournit plutôt lintervalle de temps
[tm,tm+1]. Le pas de temps h sera déterminé automatiquement par lalgorithme. Afin de vous
familiariser avec cette méthode, vous pouvez résoudre un petit problème simple dont vous
connaissez la solution.
eqdd.m est une fonction MATLAB qui contient le membre de droite de lEDD (3),
dont lappel sera:
f=eqdd(t,y).
Vous devez choisir, dans les algorithmes de la bibliothèque numérique du cours, la méthode
dinterpolation à utiliser pour avoir accès à lhistorique de la solution. Justifier votre choix.
Il pourrait être utile dutiliser la commande global qui vous permettra de passer des variables
globales à la fonction eqdd.m.
Expliquer bien comment vous procédez pour mettre en oeuvre votre fonction.