La définition d'un équation dans KSimPop ne suit pas de règle particulière autre que celle de la syntaxe mathématique. Seul point à souligner : KSimPop ne peut pas inventer un opérateur qui n'est pas spécifié. nn signifie donc pour lui la variable ou le paramètre nn ; n n ne voudrait rien dire du tout. Si on veut écrire le produit de n par lui même, il faut bien écrire n*n ou bien encore n^2 !
Les opérateur acceptés sont :
Les fonction mathématiques courantes acceptées sont :
En plus de ces fonctions mathématiques courantes, vous pouvez utiliser les fonctions de densité des distributions probabiliste courantes. Ces fonctions ainsi que leurs arguments sont décrites dans le chapitre Les distributions probabilistes disponibles dans KSimPop. Un index des fonctions dresse la liste complète des fonctions disponibles dans KSimPop.
En temps continu, le ystème d'équation correspond à un système d'équations différentielle. La dynamique du système est donc décrite par
d var1 / d t = eq1
...
d varn / d t = eqn
En temps discret, chaque équation sert à prédire la valeur d'une variable au pas de temps suivant. La dynamique du système est donc décrite par
var1, t+1 = eq1
...
varn, t+1 = eqn
Ainsi l'équation r*n*(1-n/K) ne donne pas du tout le même résultat en temps continu et en temps discret (notamment le point d'équilibre n'est pas n=K en temps discret). Les modèles r*n*(1-n/K) en temps continu et n+r*n*(1-n/K) en temps discret sont par contre comparables.
En règle générale, un modèle doit, pour pouvoir être analysé, comporter autant d'équations que de variables. Cette règle n'est pas absolue dans KSimPop : vous pouvez en effet définir un système dynamique par une liste de n variables et un ensemble de n2 équations. Le modèle est alors interprété comme un modèle matriciel. Ce point est illustré par l'exemple 4 (les matrices de Leslie).
En résumé, si KSimPop détecte autant d'équations que de variables, il considère que le modèle est standard. S'il détecte n2 équations pour n variables, il interprète le modèle comme matriciel. Le temps est alors supposé discret et la dynamique du système est caculée comme suit :
v1,t+1 = eq1*v1,t + eq2*v2,t + ... + eqn*vn,t
...
vn,t+1 = eqn*(n-1)+1*v1,t + eqn*(n-1)+2*v2,t + ... + eqn*(n-1)+n*vn,t