MATLAB 求解遗传算法figure(1);fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); %画出函数曲线%定义遗传算法参数NIND=40; %个体数目(Number of individuals)MAXGEN=25; %最大遗传代数(Maximum number of generations)PRECI=20; %变

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/22 04:51:04
MATLAB求解遗传算法figure(1);fplot(''variable.*sin(10*pi*variable)+2.0'',[-1,2]);%画出函数曲线%定义遗传算法参数NIND=40;%个体数

MATLAB 求解遗传算法figure(1);fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); %画出函数曲线%定义遗传算法参数NIND=40; %个体数目(Number of individuals)MAXGEN=25; %最大遗传代数(Maximum number of generations)PRECI=20; %变
MATLAB 求解遗传算法
figure(1);
fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); %画出函数曲线
%定义遗传算法参数
NIND=40; %个体数目(Number of individuals)
MAXGEN=25; %最大遗传代数(Maximum number of generations)
PRECI=20; %变量的二进制位数(Precision of variables)
GGAP=0.9; %代沟(Generation gap)
trace=zeros(2,MAXGEN); %寻优结果的初始值
FieldD=[20;-1;2;1;0;1;1]; %区域描述器(Build field descriptor)
Chrom=crtbp(NIND,PRECI) %初始种群
gen=0; %代计数器
variable=bs2rv(Chrom,FieldD); %计算初始种群的十进制转换
ObjV=variable.*sin(10*pi*variable)+2.0; %计算目标函数值
while gen

MATLAB 求解遗传算法figure(1);fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); %画出函数曲线%定义遗传算法参数NIND=40; %个体数目(Number of individuals)MAXGEN=25; %最大遗传代数(Maximum number of generations)PRECI=20; %变
在MATLAB 6.5自身没有遗传算法工具箱,像bs2rv,crtbp这些函数都不存在,所以运行不了,你需要自己安装一个遗传算法工具箱,才能运行

http://www.ilovematlab.cn/thread-27905-1-1.html可以下载遗传算法工具箱;
http://www.ilovematlab.cn/thread-33117-1-1.html里面有说明如何使用。

现在用MATLAB7.0比较多,换个版本吧楼主。

我在MATLAB7.0可以运行哦,肯定是版本问题的啦!!

下载一个Sheffield大学Matlab遗传算法工具箱试试吧,不过最好下一个MATLAB7.0吧。
安装:
1、解压gatbx-origin.zip,得到DOC和SRC文件夹;
2、拷贝SRC到Matlab安装目录下的toolbox文件夹中,并将SRC更名为genetic;
3、打开toolbox\local\目录下的pathdef.m文件,在适当位置添加以下两行...

全部展开

下载一个Sheffield大学Matlab遗传算法工具箱试试吧,不过最好下一个MATLAB7.0吧。
安装:
1、解压gatbx-origin.zip,得到DOC和SRC文件夹;
2、拷贝SRC到Matlab安装目录下的toolbox文件夹中,并将SRC更名为genetic;
3、打开toolbox\local\目录下的pathdef.m文件,在适当位置添加以下两行代码:
Code in pathdef.mmatlabroot,'\toolbox\genetic;',...
matlabroot,'\toolbox\genetic\test_fns;',...
4、重启Matlab。

收起