查看: 363|回复: 1|关注: 0

[未答复] MATLAB gaot遗传算法工具箱initializega函数语句不理解

[复制链接]

新手

9 麦片

财富积分


050


6

主题

10

帖子

0

最佳答案
发表于 2020-3-13 13:43:19 | 显示全部楼层 |阅读模式
下面是gaot遗传算法工具箱initializega函数,有哪位大神能够提示一下标红的语句什么意思?感谢
function [pop] = initializega(num, bounds, evalFN,evalOps,options)
if nargin<5
  options=[1e-6 1];
end
if nargin<4
  evalOps=[];
end

  if options(2)==1 %Float GA
    estr=['[ pop(i, pop(i,xZomeLength)]=' evalFN '(pop(i,,[0 evalOps]);'];
  else %Binary GA
    estr=['x=b2f(pop(i,,bounds,bits);[x v]=' evalFN ...
        '(x,[0 evalOps]); pop(i,=[f2b(x,bounds,bits) v];'];  
    end
end
%%%%下面这一部分是大概能懂,主要是上半部分红色语句

numVars     = size(bounds,1);                 %Number of variables
rng         = (bounds(:,2)-bounds(:,1))'; %The variable ranges'

if options(2)==1 %Float GA
  xZomeLength = numVars+1;                 %Length of string is numVar + fit
  pop         = zeros(num,xZomeLength);         %Allocate the new population
  pop(:,1:numVars)=(ones(num,1)*rng).*(rand(num,numVars))+...
    (ones(num,1)*bounds(:,1)');
else %Binary GA
  bits=calcbits(bounds,options(1));
  xZomeLength = sum(bits)+1;                 %Length of string is numVar + fit
  pop = round(rand(num,sum(bits)+1));
end

for i=1:num
  eval(estr);
end


回复主题 已获打赏: 0 积分

举报

新手

9 麦片

财富积分


050


6

主题

10

帖子

0

最佳答案
 楼主| 发表于 2020-3-13 13:48:31 | 显示全部楼层

改正说明

实在不好意思,一个冒号加一个圆括号总是被换成一个笑脸,真实语句如附件所示,希望大神不吝赐教!!!
捕获.PNG
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表