gusucode.com > 利用遗传算法进行图像分割matlab源码程序 > segment_ga/select1.m
function s1=select1(X1,adapt_value1) %选择算子 population=10; total_adapt_value1=0; for i=1:population total_adapt_value1=total_adapt_value1+adapt_value1(i); end adapt_value1_new=adapt_value1/total_adapt_value1; max_adapt_value1=max(adapt_value1); % 10%精英策略 s1(1)=round(mean(X1(find(adapt_value1==max_adapt_value1)))); r=rand(1,population-1); for i=2:population % 90%轮盘赌法 temp=0; for j=1:population temp=temp+adapt_value1_new(j); if temp>=r(i-1) s1(i)=X1(j); break; end end end