root/applications/dual/SIDP/bakalarka/SIDPS/matlab/jednoduchy system/generate_candidates.m @ 1351

Revision 1351, 0.8 kB (checked in by zimamiro, 13 years ago)
Line 
1function candidates=generate_candidates(best_control, search_region, num_of_candidates)
2kladne=1;
3if (mod(num_of_candidates,2)==0)
4    pom=((-((num_of_candidates-2)/2)):((num_of_candidates-2)/2))/((num_of_candidates-2)/2);
5    candidates=best_control*ones(num_of_candidates-1,1)+pom'*search_region;
6    candidates(num_of_candidates)=best_control+(2*rand-1)*search_region;
7else
8    pom=((-((num_of_candidates-1)/2)):((num_of_candidates-1)/2))/((num_of_candidates-1)/2);
9    candidates=best_control*ones(num_of_candidates,1)+pom'*search_region;
10end         
11if (kladne)
12    pom1=(max(candidates)-min(candidates))/(2*num_of_candidates);
13    for i=1:num_of_candidates
14        if(candidates(i)<0)
15            candidates(i)=abs(abs(candidates(i))-pom1);
16        end
17    end
18end
19end
Note: See TracBrowser for help on using the browser.