MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   进化计算 (https://www.labfans.com/bbs/forumdisplay.php?f=46)
-   -   [问题] matlab编程求助! (https://www.labfans.com/bbs/showthread.php?t=12420)

shuaishuailei 2010-12-23 14:50

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=1:(n(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;

anbcjys 2010-12-25 08:33

回复: matlab编程求助!
 
break 放到判断里面

shuaishuailei 2010-12-25 11:03

回复: matlab编程求助!
 
把break放到判断里面了之后while是开始循环了,但是for循环只执行一次了。我是想让for循环记录随机产生的B中1和2出现的次数,如果1和2出现的次数相等,那么chrom=B.如果出现的次数不等,那么在随机产生B,进行判断。知道满足1,2出现的次数为止。你能给我指点一下么?谢谢!

anbcjys 2010-12-26 09:00

回复: matlab编程求助!
 
用if进行判断 然后用break

shuaishuailei 2010-12-26 17:11

回复: matlab编程求助!
 
不好意思,能再说详细点么?!我刚学用matlab编程。还不熟练!谢谢!


所有时间均为北京时间。现在的时间是 19:46

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