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

📄 zz_main.m

📁 遗传算法。此程序给出了遗传算法来求解函数最值的一个例子。
💻 M
字号:
% 2.8 主程序 
%遗传算法主程序 
%Name:genmain05.m 
clear 
clf 
popsize=20; %群体大小 
chromlength=10; %字符串长度(个体长度) 
pc=0.95; %交叉概率 
pm=0.02; %变异概率 

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(pop,fitvalue); %求出群体中适应值最大的个体及其适应值 
y(i)=max(bestfit); 
n(i)=i; 
pop5=bestindividual; 
x(i)=decodechrom(pop5,1,chromlength)*10/1023; 
pop=newpop; 
end 

fplot('10*sin(5*x)+7*cos(4*x)',[0 10]) %所要计算的函数,以及自变量的范围x+
hold on 
plot(x,y,'r*') 
hold off 

[z index]=max(y); %计算最大值及其位置 
x5=x(index)%计算最大值对应的x值 
y=z 

⌨️ 快捷键说明

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