遗传算法 matlab 程序y=f(x1,x2,x3,x4)
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 00:23:32
810862034加我我这有例子!
我给你一篇文章吧,讲遗传算法求函数极值的,不过是用C语言http://blog.csdn.net/xujinpeng99/article/details/6211597
你把邮箱留下,我给你发个我自己写的遗传算法求最大值的程序,没用遗传算法工具箱,在MATLABR2008a编译通过,你看看能用上吗.
function[path,totalCost,farthestPreviousHop,farthestNextHop]=dijkstra(n,netCostMatrix,s,d,farthestPr
fit=@(x)x(1)^2+x(2)^2-16*x(1)-5*x(1)*x(2);options=gaoptimset('Generations',100,'PopulationSize',20,.
functionmy_ga()options=gaoptimset;%设置变量范围options=gaoptimset(options,'PopInitRange',[0;9]);%设置种群大小opt
newpopu(i,:)=[popu(i,1:cpoint)popu(i+1,不能这样写,你是不是想把一行分成两行写?那么第一行末尾要加“...”的.
遗传优化pid的吧主要从复制交叉变异三个方面考虑
myfun=@(x)x^2-1;[x,fval]=ga(myfun,1)Result1:x=0.0069fval=-1;介是一个example吧,你可以看看helpdocument,ga函数还有其它参
在matlab里没有fori=1to80...endfor这样的语法的在matlab里应该是:fori=1:1:80...end1:1:80第一个1是初始值,第二个是每次+1的意思当然如果是我古若寡闻
留下你的联系方式,或者发我163邮箱再问:
functionm_main()clearclcMax_gen=100;%运行代数pop_size=100;%种群大小chromsome=10;%染色体的长度pc=0.9;%交叉概率pm=0.25;%
为什么要用遗传算法呢?用常规方法就可以解决.不过在matlab中用GA也简单.你看看GATool的帮助文档,下个user'sguide就可以了,上面有例子
functionret=Code(lenchrom,bound)%本函数将变量编码成染色体,用于随机初始化一个种群%lenchrominput:染色体长度%boundinput:变量的取值范围%ret
这个可以用的遗传算法程序,当然,推荐你使用matlab自带的遗传算法
用二进制编码或者整数然后计算适应度值进而进行遗传操作包括复制交叉变异再问:我大概也知道这个流程,不过我第一次接触matlab,能说具体点吗
在MATLAB6.5自身没有遗传算法工具箱,像bs2rv,crtbp这些函数都不存在,所以运行不了,你需要自己安装一个遗传算法工具箱,才能运行
matlab中文论坛有很多的遗传算法你找找有相关程序的解释的我是车牌识别的右下角飘过
matlab自带的有遗传算法工具箱,也就是两个函数,分别是x=ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options)options=gaoptim
你的代码可能不全,报错显示代码里没有initialize函数