马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
错误提示:
??? One or more output arguments not assigned during call to 'E:\遗传\ga.m (roulette)'.
Error in ==> ga>choose at 105
picked(cn,1)=roulette(c_p); %轮盘赌
Error in ==> ga at 28
picked=choose(popus,fitness); %选择
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
改了很多遍,总是找不出错在哪?请各位大侠帮忙看下,不胜感激.
p=f_std./fitsum; %选择概率
c_p=cumsum(p)'; %累积概率,是一个矢量
for cn=1:choose_N
picked(cn,1)=roulette(c_p); %轮盘赌
picked(cn,2)=roulette(c_p); %轮盘赌
% popus=intercross(popus,picked(cn,:));%杂交
end
%popus=aberrance(popus,picked);%变异
return;
function picked=roulette(c_p) %轮盘赌
[M,N]=size(c_p);
M=max([M N]);
U=rand;
for m=1:(M-1)
if U<c_p(1)
picked=1;
return;
elseif U>c_p(m) & U<c_p(m+1)
picked=m+1;
break;
end
end |