Lire un algorithme

Fermé
WWZ - 24 sept. 2013 à 20:15
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 25 sept. 2013 à 07:46
Bonjours a tous,

J'ai trouvé un algorithme assez compliqué (pour ne rien cacher je n'en ai pas compris le quart) et je ne sais pas si c'est vraiment un algorithme ou autre chose. J'aimerais aussi savoir comment le lire ou le faire fonctionner.

Merci beaucoup pour toute aide :)

Je vous mets le début pour vous donner une idée ainsi que le site sur lequel je l'ai trouvé:
http://mysite.science.uottawa.ca/rsmith43/Zombies.pdf

function [ ] = zombies(a,b,ze,d,T,dt)
% This function will solve the system of ODE's for the basic model used in
% the Zombie Dynamics project for MAT 5187. It will then plot the curve of
% the zombie population based on time.
% Function Inputs: a - alpha value in model: "zombie destruction" rate
% b - beta value in model: "new zombie" rate
% ze - zeta value in model: zombie resurrection rate
% d - delta value in model: background death rate
% T - Stopping time
% dt - time step for numerical solutions
% Created by Philip Munz, November 12, 2008
%Initial set up of solution vectors and an initial condition
N = 500; %N is the population
n = T/dt;
t = zeros(1,n+1);
s = zeros(1,n+1);
z = zeros(1,n+1);
r = zeros(1,n+1);
s(1) = N;
z(1) = 0;
r(1) = 0;
t = 0:dt:T;


P.S: Oui ça parle de zombie et de contagion mais c'est tout de même très sérieux, je prépare un exposé sur "les zombies: Que dit la science ?"
A voir également:

6 réponses

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
24 sept. 2013 à 20:23
Déjà tout ce qui commence par % ce sont des commentaires.
Mais il peut quand même être intéressant de comprendre qu'on parle d'équations différentielles ("system of ODE"), ce qui est une approche assez classique des problèmes de propagation de maladie.

Après le morceau de code que tu nous montre ne fait rien, ça initialises quelques tableaux avec 0 partout, rien de très intéressant...
1
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
24 sept. 2013 à 20:48
C'est marqué dans les commentaires : "MAT 5187"
Mais c'est très certainement un logiciel que l'auteur a développé exprès.
Cependant la syntaxe ressemble à du Scilab ou du Maxima, pour ces deux logiciels il devrait être facile de faire tourner l'algorithme avec assez peu de changements.
1
Pour les pourcentages je savais mais merci de m'avoir renseigné sur les équations différentielles.
Oui c'est seulement une partie de l'algorithme complet car il est très long.
Je voudrais surtout savoir sur quel logiciel Je peux le faire fonctionner.
0
Daccord je vais essayer ça, Merci beaucoup de ton aide ! :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
-->exec('H:\Cours\TPE\algo - Copie.txt', -1)
= background deathrate, so only term is -b term ;
!--error 2
Facteur invalide.
at line 26 of function zombies called by :
return
at line 137 of exec file called by :
exec('H:\Cours\TPE\algo - Copie.txt', -1)

Un peu d'aide ?
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
Modifié par KX le 25/09/2013 à 07:52
"= background deathrate, so only term is -b term ; "
Çà c'est la fin du commentaire de la ligne d'avant !
"%here we assume birth rate = background deathrate, so only term is -b term"

Remarque : Tu ne peux pas faire un simple copier-coller depuis un PDF et espérer que ça marche du premier coup !

Le code que tu as est pour MAT 5187, j'ai dit qu'il y avait des ressemblances avec d'autres langages comme Scilab, mais ça ne veut pas dire qu'ils sont compatibles.
Il va falloir réécrire le code en respectant la syntaxe de Scilab. Regarde donc la documentation en ligne pour savoir comment faire les instructions qui seraient différentes. Même si ici c'est juste une erreur de copier-coller...
La confiance n'exclut pas le contrôle
0