声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 基础理论 查看内容

遗传算法的程序简单实例

2011-4-1 07:55| 发布者: 雪缘| 查看: 2941| 评论: 0|来自: 振动论坛

摘要: 如求下列函数的最大值 f(x)=10*sin(5x)+7*cos(4x) x∈ 一、初始化(编码) initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度), ...
如求下列函数的最大值                                                            
f(x)=10*sin(5x)+7*cos(4x)      x∈[0,10]

一、初始化(编码)
initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度),
长度大小取决于变量的二进制编码的长度(在本例中取10位)。
遗传算法子程序
  1. %Name: initpop.m
  2. %初始化
  3. function pop=initpop(popsize,chromlength)     
  4. pop=round(rand(popsize,chromlength));         
  5. % rand随机产生每个单元为 {0,1} 行数为popsize,列数为chromlength的矩阵,
  6. % roud对矩阵的每个单元进行圆整。这样产生的初始种群。
复制代码

[ 本帖最后由 frogfish 于 2007-6-25 03:47 编辑 ]

本文内容由 frogfish 提供

最新评论

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-23 20:35 , Processed in 0.048773 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部