⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example2.m

📁 matlab编程:遗传算法求解最大值 matlab编程:遗传算法求解最大值
💻 M
字号:
popsize=20;                                       %群体大小

chromlength=10;                                   %字符串长度(个体长度)

pc=0.6;                                           %交叉概率

pm=0.001;                                         %变异概率

function pop=initpop(popsize,chromlength);   
%随机产生初始群体

for i=1:20                                        %20为迭代次数

[objvalue]=calobjvalue(pop);                      %计算目标函数

fitvalue=calfitvalue(objvalue);                   %计算群体中每个个体的适应度

[newpop]=selection(pop,fitvalue);                 %复制

[newpop]=crossover(pop,pc);                       %交叉

[newpop]=mutation(pop,pc);                        %变异

[bestindividual,bestfit]=best(popu,fitvalue);%求出群体中适应值最大的个体及其适应值

y(i)=max(bestfit);

n(i)=i;

pop5=bestindividual;

x(i)=decodechrom(pop5,1,chromlength)*10/1023;

pop=newpop;

end

function[Triangle]=Triangle(a,b,c);
  if((a+b>c)&(b+c>a)&(c+a>b))
    if((a~=b)&(b~=e)&(c~=a))
               Triangle='scalene';
     ElSe
             if(((a==b)&(b~=c))|((c==b)&(a~=c))|((a==c)&(b~=a)))
                    Triangle='Isosceles';
             Else
                    Triangle='Equilateral';
             end;
     end;
   else             Triangle='no';
end;

fplot('10*sin(5*x)+7*cos(4*x)',[0 10])

hold on

plot(x,y,'r*')

hold off</div>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -