📄 gamain.m
字号:
% 2.8 主程序
%遗传算法主程序
%Name:genmain05.m
clear all;
clc;
close all;
clf
popsize=20; %群体大小
chromlength=10; %字符串长度(个体长度)
pc=0.6; %交叉概率
pm=0.001; %变异概率
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); %bestfit
n(i)=i;
pop5=bestindividual;
x(i)=decodechrom(pop5,1,chromlength)*10/1023;
pop=newpop;
end
%x
%y
%stem(x,y)
fplot('10*sin(5*x)+7*cos(4*x)',[0 10]) %%可以直接画函数图真好啊!!!
hold on %%%%%%1%去掉这一部分,还原原来的图!!!
n=0.5:0.5:10;
stem(n,y,'ro')%2%%stem的用法还很难有待于讨论!!!!
hold on
stem(n,x,'k*')%3%%这么做有意义吗????!!!
plot(x,y,'g*') %
%hold off
[z index]=max(y); %计算最大值及其位置
x5=x(index)%计算最大值对应的x值
y=z
hold on
plot(x5,y,'b*')
%%%%%%%%%09.4.12晚 有机会再把整个的程序从头到尾再来一遍,把不懂得没用过的现在知道了的,总结到test22.m中去一啊!!!!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -