作者sylvy (睡眠不足)
看板MATLAB
标题Re: [问题] 达成条件後停止乱数
时间Mon Feb 2 21:46:36 2015
※ 引述《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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1422884799.A.D69.html