Bonjour,

Voici ce que j'aimerai coder :
- Un cell array de dimension n*n contient dans chacune de ses cellules un vecteurs X[x;y;z] avec x,y,z des réels positifs (des densité de population)
- Une fonction de transition doit s'appliquer sur le cell array afin de calculer les densités à l'instant t+1 à partir des densités de l'instant t. Dans cette fonction de transition la partie s'appliquant au calcul de X(3){t+1} nécessite de faire la somme d'une proportion de X(3) des huit cellules voisines (ce qui correspond dans le contexte à un phénomène de dispersion entre les cellules).

Voici la fonction de projection dans le cas simple de seulement deux cellules. En rouge les termes qui décrivent l'immigration
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
% Projection function
% X=(F1,B1,P1,F2,B2,P2)
% X_n+1=G2(X_n)
G2 = @(X) [v*phib(R(X(1),X(3))).*X(1) + r(rho(X(1),X(2))).*X(2);...
          mub(rho(X(1),X(2))).*X(2).*(1+gamma(rho(X(1),X(2)))).*(1-X(2)./B_max);...
          f.*X(3).*S(R(X(1),X(3)))*sigma*deltab(X(3),X(1))+delta(X(6),X(4))*sigma*S(R(X(4),X(6)))*X(6)*f;...
          v*phib(R(X(4),X(6))).*X(4) + r(rho(X(4),X(5))).*X(5);...
          mub(rho(X(4),X(5))).*X(5).*(1+gamma(rho(X(4),X(5)))).*(1-X(5)./B_max);...
          f.*X(6).*S(R(X(4),X(6)))*sigma*deltab(X(6),X(4))+delta(X(3),X(1))*sigma*S(R(X(1),X(3)))*X(3)*f];
Par rapport à ce code l'idée serait donc maintenant que l'immigration proviennent des huit cellules voisines.

Donc au final mes problèmes sont :
Comment modifier la fonction de transition
Comment appliquer la fonction sur l'ensemble du cell array en même temps

Merci