1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| function f = decode(pop,nvar_d,n_pop,n_bits); % voici la fonction decode qui associe aux entrées "pop, nvar_d, n_pop, n_bits" la sortie f.
for (i = 1 : 1 : n_pop) % pour i allant de 1 à n_pop par pas de 1 (peut être remplacé par for i = 1:n_pop)
q = 1;
for (j = 1 : 1 : nvar_d) % pour i allant de 1 à nvar_d ( for j = 1:nvar_d )
sum = 0;
for (k = 1 : 1 : n_bits(j)) % pour i allant de 1 au j_ème élément de n_bits
b = pop.ind(i).genes(q); % b est ici une variable de type structure qui contient donc d'autres variables. ici on cherche à récupérer la q_ème occurence de genes qui se trouve lui même dans la i_ème occurence de pop.ind
d = n_bits(j)-k; % j_ème élément de n_bits - k
c = power(2,d); % c = d^2
sum = sum+c*b; % on va accumulé une somme de sous résultat ici, d'où le sum = sum + un truc (ici c*b)
q = q+1; % on incrémente q
end
pop.ind(i).xbin(j) = sum; % on va ajouter (ou modifier) un champ de notre variable de départ pop (qui, je le rappelle, est de type structure, donc possède plusieurs variables en son sein).
end
end
%
f = pop; % à noter qu'ici, pop est donc à la fois une variable d'entrée et une variable de sortie de la fonction decode |
Partager