Bonjour,
je travaille sur l'algorithme des chauves-souris "BAT Algorithm" pour effectuer un seuillage multi-niveaux.
une fois sur la démo proposé dans le file exchange : http://www.mathworks.com/matlabcentr...gorithm--demo-
je n'ai pas pu comprendre une fonction :
- partie initialisation telle que d est la dimension :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 % Lower limit/bounds/ a vector Lb=-2*ones(1,d); % Upper limit/bounds/ a vector Ub=2*ones(1,d);
- et appel de fonction telle que Sol(i,: ) c'est l'une des solution "chaque ligne est une solution" :
et enfin la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 % Apply simple bounds/limits Sol(i,:)=simplebounds(Sol(i,:),Lb,Ub);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function s=simplebounds(s,Lb,Ub) % Apply the lower bound vector ns_tmp=s; I=ns_tmp<Lb; ns_tmp(I)=Lb(I); % Apply the upper bound vector J=ns_tmp>Ub; ns_tmp(J)=Ub(J); % Update this new move s=ns_tmp;
Merci d'avance.
Partager