Re: [問題] 達成條件後停止亂數
※ 引述《d66o690 (d66o690)》之銘言:
: 大家好~我是初學Simulink
: 我建了一個模型,其中有一個子系統
: 我想要讓這個子系統的功能是,由亂數產生一個值,若這個值滿足後面條件就停止亂數
: 然後這把這個滿足條件亂數產生的值拉出來,再做其他運算
: 但是我苦惱了很久,不知道該如何在滿足條件後停止亂數,或是記憶滿足條件的亂數值
: 我有試過當滿足條件後用stop simulation
: 但因為取得值後,我後面還要持續做運算,所以不能stop simulation
: EX:
: 設定亂數跑出x=1~10,當x+2 > 10時滿足,且把這時的x拉出去做其他運算
: 假設此時亂數跑出9,9+2滿足 >10的條件,然後我想要把值停在9,或把9記憶下來,用這個9做之後的運算
: 請問我該怎麼做? 懇請解惑,謝謝大家
因為不是很確定你的要求,如果純粹滿足條件後停止的狀況下可以用while迴圈和break
以你的例子當範例:
while 1
x = rand()*10;
if x+2 > 10
break;
end
end
這樣就會一直運算到滿足 x+2 > 10 這個條件後才會停止迴圈
或是直接把條件設為迴圈停止的條件
x = rand*10; % <--注意這邊要先設一個數字讓x有數值
while (x+2 <= 10)
x = rand()*10;
end
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.165.67
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1422884799.A.D69.html
討論串 (同標題文章)