24小时热门版块排行榜    

查看: 742  |  回复: 1

da1234mao

铁虫 (著名写手)

[求助] 请帮我改下面关于matlab 遗传算法的一段子程序 关于编码的子程序 已有1人参与

function ret=Code(lenchrom,bound)
%本函数将变量编码成染色体,用于随机初始化一个种群
% lenchrom   input : 染色体长度
% bound      input : 变量的取值范围
% ret        output: 染色体的编码值
bound=[0.01 0.15;1 20;0.1 1;0 20;0.1 1;0 20;0.1 1;0 20;0.1 1;0.2 0.4];
lenchrom=[1 1 1 1  1 1 1 1 1 ];
flag=0;
while flag==0
    pick=rand(1,length(lenchrom));
    pick=bsxfun(@rdivide,pick,sum(pick)); %线性插值,编码结果以实数向量存入ret中
    ret=sum(bound‘.*pick');
end
错误的原因bound’.×pick这一句,原因是Error using  .* Matrix dimensions must agree.





我的遗传算法有十个变量,每个变量有2个上下限,如bound和lenchrom 所示,请教下高手怎么改呢?
这段程序是用在matlab 遗传算法中的编码染色体的(code)

[ Last edited by da1234mao on 2014-1-9 at 21:46 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cobrasq

金虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
da1234mao: 金币+2 2014-01-10 10:06:54
原始 bound 是一个 10x2 矩阵,转置后为 2x10 矩阵,经过 bsxfun 处理后的 pick 是一个 1x9 向量,经过转置成为 9x1 向量,bound' .* pick' 自然会报错。

把 lenchrom 增加为 10 个元素的向量, 然后 ret1 = sum(bound(:,1).*pick'); ret2 = sum(bound(:,2).*pick');

另外,你可能需要产生两个 pick。
2楼2014-01-09 23:39:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 da1234mao 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳又变了8-15 +3 archvillain 2026-08-15 3/150 2026-08-15 11:22 by 医学老男孩
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +6 Ldrop2023 2026-08-13 6/300 2026-08-15 10:09 by tuanggou
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 7lpolszZVXgi 2026-08-14 7/350 2026-08-15 09:09 by 4wMiSEwB6436
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +24 医学老男孩 2026-08-13 50/2500 2026-08-15 06:38 by 学员8dgXkO
[基金申请] filecode +7 cratir 2026-08-14 11/550 2026-08-15 06:19 by 学员8dgXkO
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 k0dTPqJtl0jt 2026-08-14 4/200 2026-08-15 02:21 by 4wMiSEwB6436
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 k0dTPqJtl0jt 2026-08-14 4/200 2026-08-15 01:28 by 4wMiSEwB6436
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 7/350 2026-08-15 00:40 by 4wMiSEwB6436
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-14 22:32 by 4wMiSEwB6436
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见