j'ai un probleme avec un exo
please aider moi
voici le fichier que j'ai cree:
function f=eqqdd(t,y)
global tq ca cv R r Ts j Tp alphah alphas alphap bethah bethas bethap lamdah P0
bethah=1.17;
bethas=7;
bethap=7;
alphah=0.84;
alphas=93;
alphap=93;
ca=1.55;
cv=519;
R=1.05;
V=67.5;
r=0.068;
P0=93;
j(Ts,Tp)=(alphas*Ts/1+(lamdah*Tp))-bethah*Tp;
Ts=1/(1+(y1(t-thau)/alphas).^bethas);
Tp=1/(1+(alphap/y1(t)).^bethap)
f = zeros(size(y),1);
f(1)=-(1/(ca*R))*y1(t)+(1/(ca*R))*y2(t)+(V/ca)*y3(t);
f(2)=(1/(cv*R))*y1(t)-((1/(cv*R))+(1/(cv*r)))*y2(t);
f(3)=j(Ts,Tp)
yo=[93;5.66;1.23]
et voici l'exo:
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 ( ). 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.