Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 进化计算
进化计算 A discussion board for Evolutionary Computation.
回复
 
主题工具 显示模式
旧 2010-12-23, 14:50   #1
shuaishuailei
初级会员
 
注册日期: 2010-11-10
帖子: 13
声望力: 15
shuaishuailei 正向着好的方向发展
默认 matlab编程求助!

我自己试着编了一段matlab,但是在运行时我检测while语句只执行了一次就跳出了。我不知道是什么原因,我希望能循环检测 请高手为我指点一下吧!谢谢!
n=size(P);
temp1=0;
temp2=0;
while [temp1~=n(2),temp2~=n(2)] %循环检测,只有当1,2出现的次数都等于n(2)时才能得到chrom=B这个结果。
B=randi(n(1),1,(n(1)*n(2))); %随机生成一个1到n(1)的1*[n(1)*n(2)]阶的矩阵
for i=1n(1)*n(2)) %记录B中1—2出现的次数
if B(i)==1
temp1=temp1+1;
elseif B(i)==2
temp2=temp2+1;
end
end
break;
end
chrom=B;
shuaishuailei 当前离线   回复时引用此帖
旧 2010-12-25, 08:33   #2
anbcjys
高级会员
 
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24
anbcjys 正向着好的方向发展
默认 回复: matlab编程求助!

break 放到判断里面
__________________
qq604443022
anbcjys 当前离线   回复时引用此帖
旧 2010-12-25, 11:03   #3
shuaishuailei
初级会员
 
注册日期: 2010-11-10
帖子: 13
声望力: 15
shuaishuailei 正向着好的方向发展
默认 回复: matlab编程求助!

把break放到判断里面了之后while是开始循环了,但是for循环只执行一次了。我是想让for循环记录随机产生的B中1和2出现的次数,如果1和2出现的次数相等,那么chrom=B.如果出现的次数不等,那么在随机产生B,进行判断。知道满足1,2出现的次数为止。你能给我指点一下么?谢谢!
shuaishuailei 当前离线   回复时引用此帖
旧 2010-12-26, 09:00   #4
anbcjys
高级会员
 
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24
anbcjys 正向着好的方向发展
默认 回复: matlab编程求助!

用if进行判断 然后用break
__________________
qq604443022
anbcjys 当前离线   回复时引用此帖
旧 2010-12-26, 17:11   #5
shuaishuailei
初级会员
 
注册日期: 2010-11-10
帖子: 13
声望力: 15
shuaishuailei 正向着好的方向发展
默认 回复: matlab编程求助!

不好意思,能再说详细点么?!我刚学用matlab编程。还不熟练!谢谢!
shuaishuailei 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 16:13


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.