我把我程式貼上來,這樣問比較正確
clear
n=200;
A=zeros(n);
k=zeros(n,1);
A(1,2)=1;
A(1,3)=1;
A(2,1)=1;
A(2,3)=1;
A(3,1)=1;
A(3,2)=1;
A(1,4)=1;
A(4,1)=1;
k(1,1)=3;
k(2,1)=2;
k(3,1)=2;
k(4,1)=1;
for i=5:n
for j=1:i-2
sk=sum(k(1:i-1,1));
c(1,1)=sk-k(1,1);
c(j+1,1)=c(j,1)-k(j+1,1);
end
r=rand;
newr=sk*r;
for j=1:i-1
if newr > c(1,1)
d=1;
elseif newr < c(j,1)
d=j+1;
end
end
%========================= 這裡得到一個常數"d"
rr=rand;
secr=sk*rr;
for j=1:i-1
if secr > c(1,1)
dd=1;
elseif secr < c(j,1)
dd=j+1;
end
end
%========================== 這裡得到一個常數"dd" 問題在這裡出現!!
if dd == d
我要怎麼讓他回到 rr=rand; 這個地方開始從新執行
而且亂數會重新產生???
end
%============================
k(d,1)=k(d,1)+1;
k(dd,1)=k(dd,1)+1;
A(i,d)=1;
A(i,dd)=1;
k(i,1)=2;
end
--
◎ ◢) ○
伴隨著五彩光圈,蝴蝶所到之處,惡鬼全成了碎塊, ◥◣◤
○ ⊙◢◥█))
蝴蝶優雅飛去,碎塊才來得及落下。 ○ ◥) ◥) ◎
◢█
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.245.179
→
11/25 08:45, , 1F
11/25 08:45, 1F
→
11/26 01:00, , 2F
11/26 01:00, 2F
→
11/26 01:01, , 3F
11/26 01:01, 3F
推
11/26 01:14, , 4F
11/26 01:14, 4F
※ 編輯: icrtstyle 來自: 140.119.125.112 (11/26 01:48)
→
11/26 12:28, , 5F
11/26 12:28, 5F