Re: [問題] 迴圈問題已回收

看板MATLAB作者 (zzs2005)時間16年前 (2008/11/20 10:58), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串4/8 (看更多)
※ 引述《heatmass (開學好不適應)》之銘言: : a=rand(3,3); : if a(:,3)>0.9999; : a=1000; : elseif a(:,3)>1; : a=999; : end : 以上是我練習寫的程式,rand是隨機0~1的亂數,現在有3*3的矩陣明知道是不可能 : 達到下面所寫的條件是那如果達不到我有辦法令此程式回到第一行a=rand(3,3); : 不斷的跑直到跑道有可能符合a(:,3)>0.9999;的條件嗎? : 目前好像沒看到有一個指令只要沒辦法達到目的就重新run的指令或是指定要從哪 : 一行在重新跑的指令! a(:,3)>0.9999這樣寫應該是無法進入判斷式 下面可能是你要的 Idx=1; while ~isempty(Idx) a=rand(3); Idx=find(a(:,3)<0.5); end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.72.166

11/20 13:21, , 1F
我的意思是故意讓他達不到判斷是給的條件然後讓他不斷的
11/20 13:21, 1F

11/20 13:22, , 2F
重新run直到能達到判斷式的條件為止
11/20 13:22, 2F

11/20 13:24, , 3F
你的寫法如果Idx不為1那不就無法跑下面的判斷式了
11/20 13:24, 3F
文章代碼(AID): #199D9REU (MATLAB)
文章代碼(AID): #199D9REU (MATLAB)