| 查看: 305 | 回复: 1 | ||
[求助]
大家帮我看看这段程序,解释一下
|
|
clear all; close all; %Parameters Size=80; G=100; CodeL=10; umax=2.048; umin=-2.048; E=round(rand(Size,2*CodeL)); %Initial Code GG1=zeros(1,G);%用来保存适应值; Y=zeros(2,G);%用来保存x值 %Main Program for k=1:1:G time(k)=k; for s=1:1:Size m=E(s, ;y1=0;y2=0; %Uncoding m1=m(1:1:CodeL); for i=1:1:CodeL y1=y1+m1(i)*2^(i-1); end x1=(umax-umin)*y1/1023+umin; Y(1,k)=x1; m2=m(CodeL+1:1:2*CodeL); for i=1:1:CodeL y2=y2+m2(i)*2^(i-1); end x2=(umax-umin)*y2/1023+umin; Y(2,k)=x2; %F(s)=100*(x1^2-x2)^2+(1-x1)^2;%这个就是所对应的适应值函数 F(s)=10*sin(sqrt(x1.^2+x2.^2))./sqrt(1+x1.^2+x2.^2); end Ji=1./F; %****** Step 1 : Evaluate BestJ ****** BestJ(k)=min(Ji); fi=F; %Fitness Function [Oderfi,Indexfi]=sort(fi); %Arranging fi small to bigger Bestfi=Oderfi(Size); %Let Bestfi=max(fi) BestS=E(Indexfi(Size), ; %Let BestS=E(m), m is the Indexfi belong to max(fi)bfi(k)=Bestfi; GG1(k)=Bestfi; %****** Step 2 : Select and Reproduct Operation****** fi_sum=sum(fi) fi_Size=(Oderfi/fi_sum)*Size fi_S=floor(fi_Size) %Selecting Bigger fi value kk=1; for i=1:1:Size for j=1:1:fi_S(i) %Select and Reproduce TempE(kk, =E(Indexfi(i), ;kk=kk+1; %kk is used to reproduce end end 前面都懂,就是不懂这的Select and Reproduct Operation,麻烦指点一下,谢谢。 |
» 猜你喜欢
FileCode能看出啥?
已经有16人回复
帮忙看看fileCode
已经有9人回复
小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊
已经有4人回复
为什么网上很多人说本周 12号出结果
已经有4人回复
基金中了
已经有15人回复
filecode
已经有8人回复
确定了,国自然21号放榜
已经有7人回复
综述论文作为代表作会不会影响评审专家的印象分?
已经有11人回复
关于代码变化问题,想知道的进来
已经有24人回复
静等基金结果
已经有16人回复
» 本主题相关价值贴推荐,对您同样有帮助:
这段并行程序有问题,不知道错在什么地方请大家看看!
已经有6人回复
帮忙看一段程序
已经有3人回复
【求助】50金币求大家帮忙改一段程序
已经有13人回复
【求助】导师这样给我回信,不知道是什么意思,请大家帮帮忙解释一下
已经有21人回复
【求助】大家帮忙看看数组存值和引用
已经有5人回复
求助大家帮忙看看写的有没有错误,这段话?谢谢
已经有1人回复
【求助】大家帮我看看我的循环伏安曲线,给个解释呗
已经有8人回复
【求助】请大家帮我解释一下这个荧光蓝移的原因
已经有8人回复
【求助】熟悉matlab ga 工具箱的虫子进来一下
已经有11人回复
2楼2011-06-21 14:56:17










;
回复此楼
100