看板 MATLAB 關於我們 聯絡資訊
我把我程式貼上來,這樣問比較正確 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
kdjf:用while包起來啊 11/25 08:45
icrtstyle:請教樓上的大大,我實在不知道要怎麼用while解決~~ 11/26 01:00
icrtstyle:我必須要跑出"dd"才能去比較,這樣我該怎麼使用while 11/26 01:01
sunev:隨便設一個初始值 11/26 01:14
※ 編輯: icrtstyle 來自: 140.119.125.112 (11/26 01:48)
icrtstyle:matlab裡面有類似像fortran裡面"cycle"的指令嗎??? 11/26 12:28