24小时热门版块排行榜    

查看: 3606  |  回复: 14

小新爱小白

金虫 (小有名气)

引用回帖:
594464楼: Originally posted by lhfx_313 at 2011-04-11 20:32:11
应该分模块实现,一个主模块+几个子模块(每个子模块也就对应一个函数,也就是以 function开头)。
写一个main.m作为主模块,然后调用其他的各个子模块(调用各个子函数)就行了。
举个例子:实现两个数的相加和相 ...

Function [eval]=targetalloc (chrom)
[m,n]=size(chrom);
p=[87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;62 87 70 22 80 42 43 90 13 95 18 19 12 61 35;48 20 42 16 43 58 69 03 34 72 15 24 29 30 75];
w=[47 97 76 62 48 77 33 74 54 65 43 35 63 66 57];
for i=1:m
for j=1:15
chrom(i,j)=p(chrom(i,j),j);
end;
end
eval=chrom*w';
NIND=40;
MAXGEN=50;
GGAP=0.9;
trace=zeros(MAXGEN,2);
BaseV=crtbase(15,8);
Chrom=crtbp(NIND,BaseV)+ones(NIND,15);
gen=0;
ObjV=taretalloc(Chrom);
while gen FitnV=ranking(-ObjV);
SelCh=select('sus',Chrom,FitnV,GGAP);
SelCh=recombin('xovsp',SelCh,0.7);
f=rep([1;8],[1,15]);
SelCh=mutbga(SelCh,f);SelCh=fix(SelCh);
ObjVSel=taretalloc(SelCh);
[Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);
gen=gen+1;
trace(gen,1)=max(ObjV);
trace(gen,2)=sum(ObjV)/length(ObjV);
end
[Y,I]=max(ObjV);Chrom(I,,Y
plot(trace(:,1),'-.');hold on;
plot(trace(:,2));grid
Legend('解的变化','种群均值的变化')
这个程序有什么问题,怎么总是提示错误,也运行不了呢?或者请指教怎么在Matlab 7.7.0(R2008b)里边具体步骤。
O(∩_∩)O谢谢
天天开心,事事顺利
11楼2012-08-11 20:05:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小新爱小白

金虫 (小有名气)

引用回帖:
946297楼: Originally posted by libralibra at 2011-04-19 00:41:55
互相调用2个办法:

==========
1.子函数
==========

都写在一个文件中,例如叫main.m

function main()
%主函数内容

subFunc1(); % 掉用子函数1

subFunc2(); % 掉用子函数2
end

function subFun ...

Function [eval]=targetalloc (chrom)
[m,n]=size(chrom);
p=[87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;62 87 70 22 80 42 43 90 13 95 18 19 12 61 35;48 20 42 16 43 58 69 03 34 72 15 24 29 30 75];
w=[47 97 76 62 48 77 33 74 54 65 43 35 63 66 57];
for i=1:m
for j=1:15
chrom(i,j)=p(chrom(i,j),j);
end;
end
eval=chrom*w';
NIND=40;
MAXGEN=50;
GGAP=0.9;
trace=zeros(MAXGEN,2);
BaseV=crtbase(15,8);
Chrom=crtbp(NIND,BaseV)+ones(NIND,15);
gen=0;
ObjV=taretalloc(Chrom);
while gen FitnV=ranking(-ObjV);
SelCh=select('sus',Chrom,FitnV,GGAP);
SelCh=recombin('xovsp',SelCh,0.7);
f=rep([1;8],[1,15]);
SelCh=mutbga(SelCh,f);SelCh=fix(SelCh);
ObjVSel=taretalloc(SelCh);
[Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);
gen=gen+1;
trace(gen,1)=max(ObjV);
trace(gen,2)=sum(ObjV)/length(ObjV);
end
[Y,I]=max(ObjV);Chrom(I,,Y
plot(trace(:,1),'-.');hold on;
plot(trace(:,2));grid
Legend('解的变化','种群均值的变化')
这个程序有什么问题,怎么总是提示错误,也运行不了呢?或者请指教怎么在Matlab 7.7.0(R2008b)里边具体步骤。
O(∩_∩)O谢谢
天天开心,事事顺利
12楼2012-08-11 20:06:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

引用回帖:
1273373楼: Originally posted by 小新爱小白 at 2012-08-11 20:06:34
Function =targetalloc (chrom)
=size(chrom);
p=;
w=;
for i=1:m
for j=1:15
chrom(i,j)=p(chrom(i,j),j);
end;
end
eval=chrom*w';
NIND=40;
MAXGEN=50;
GGAP=0.9;
trace=zeros(MAXGEN,2);
BaseV= ...

贴出所有报错看看
debug要看bug信息才行
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
13楼2012-08-11 23:30:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liyw11

金虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
从模块化入手,就好了

[ 发自手机版 http://muchong.com/3g ]
不断追求
14楼2012-08-12 10:20:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

竹子kyle

铜虫 (正式写手)

和c里差不多
impossibleisnothing
15楼2012-09-07 15:55:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wenqiang1938 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +4 Liwangman 2026-03-15 4/200 2026-03-16 08:01 by wang_dand
[考研] 东南大学364求调剂 +3 JasonYuiui 2026-03-15 3/150 2026-03-15 18:57 by 无际的草原
[考研] 288求调剂 +4 奇点0314 2026-03-14 4/200 2026-03-14 23:04 by JourneyLucky
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 中科大材料与化工319求调剂 +3 孟鑫材料 2026-03-14 3/150 2026-03-14 20:10 by ms629
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[基金申请] 面上和青基一样限30页不合理 +5 wowsunflower 2026-03-10 7/350 2026-03-14 17:21 by kingkocxr
[考研] 328求调剂 +3 5201314Lsy! 2026-03-13 6/300 2026-03-14 15:31 by hyswxzs
[考研] 290求调剂 +4 @将就将就看 2026-03-10 8/400 2026-03-14 14:23 by 千千运气
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 求调剂 +3 清风问长安 2026-03-09 3/150 2026-03-14 02:15 by JourneyLucky
[考研] 308求调剂 +4 是Lupa啊 2026-03-09 4/200 2026-03-14 02:06 by tranquil_ya
[考研] 285 求调剂 资源与环境 一志愿北京化工大学 +3 未名考生 2026-03-10 3/150 2026-03-13 23:04 by JourneyLucky
[考研] 求调剂(材料与化工327) +4 爱吃香菜啦 2026-03-11 4/200 2026-03-13 22:11 by JourneyLucky
[考研] 26调剂/材料科学与工程/总分295/求收留 +9 2026调剂侠 2026-03-12 9/450 2026-03-13 20:46 by 18595523086
[考研] 求b区学校调剂 +3 周56 2026-03-11 3/150 2026-03-13 16:20 by JourneyLucky
[考研] 26考研求调剂 +5 丶宏Sir 2026-03-13 5/250 2026-03-13 13:05 by JourneyLucky
[考研] 274求调剂0856材料化工 +12 z2839474511 2026-03-11 13/650 2026-03-13 10:39 by peike
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-03-12 4/200 2026-03-12 19:33 by 求调剂zz
[考研] 279求调剂 +3 莫xiao 2026-03-10 4/200 2026-03-11 08:06 by 斩魂滴兔子!
信息提示
请填处理意见