Bonjour a tous !
Voilà je travaille actuellement sur un modèle épidémiologique proposé par Kermack et MacKendrick, dont les données sont celles de la peste à Bombay en 1905-1906.
Le probleme est le suivant (cf piece jointe).
Je travaille avec Scilab dont voici le programme que j'ai fait à l'heure actuelle :
Les données :
en abscisse : les semaines qui varient de 1 à la taille de l'échantillon
en ordonnées : le nombre de décédés de la peste
//y=[4,10,15,18,21,31,51,53,97,125, 183,292,390,448,641,771,701,69 6,867,925,801,580,409,351,210, 113,65,52,51,39,33];
// Données du problème
y=input('Entrez les valeurs des donnees :');
longueur=length(y);
x=1:length(y);
//Tracé graphique
plot(x,y)
// Calcul du "centre" de l'épidémie : t0 (nécessaire pour le problème)
for j=1:length(y)
S(j)=sum(j*y(j));
end;
t0=sum(S)./sum(y)
ensuite j'ai défini f :
// definition de la fonction
deff("y=f(x)","y=a*(2/(exp(lambda*(x-t0))+exp(-lambda*(x-t0))))^2");
Via Maple j'ai trouvé les estimations des paramètres mais le prof veut un programme Scilab qui les trouve
// Approximation graphique des données via les resultats de Maple
a=868.6910972;t0=18.47150260;l ambda=0.1883926935;
T=[];
for j=1:length(y)
T(j)=f(x(j));
end;
clf()
plot2d(x,T',2)
plot2d(x,y)
legends(['Donnees experimentales';'Approximation des donnees'],[1,2])
// Calcul des résidus
M=[];
for k=1:length(y)
M(k)=(y(k)-T(k))^2;
end;
sum(M)
Quelqu'un peut m'aider à estimer les paramètres a et lambda ? Je n'arrive pas à utiliser la fonction lsqrsolve qui doit être tres bien ...
J'attends vos pistes ou votre aide avec impatience.
Merci beaucoup
-----