Simulate a random walk that starts at a certain time and then stops before the end of the simulation

4 次查看(过去 30 天)
I want to simulate a white noise that begins at a certain time and then stops at another time before the end of the simulation. The goal is to generate a random-walk disturbance but I want to have a period at the beginning where the disturbance is zero and a final period where the disturbance is static.
Based on this answer I did it using two switches:
Is this the best way or is there something simpler?

采纳的回答

Walter Roberson
Walter Roberson 2023-5-16
编辑:Walter Roberson 2023-5-16
You can use an if action block https://www.mathworks.com/help/simulink/slref/if.html as that permits you to use the & operator. So if time > 300 & time < 1000 ...
Or, use two relational operator blocks https://www.mathworks.com/help/simulink/slref/relationaloperator.html with their output type set as 'double', and multiply the two results, and multiply that by the output of the noise signal: the result will be 0 where either or both of the comparisons is false, and will otherwise be the noise.
  8 个评论
Walter Roberson
Walter Roberson 2023-5-18
I recall that there was a post a few months ago to the effect that the different streams of if/then/else all kept running at the same time, unless you did specific things, and therefore you could end up with an error arising from a grouping that was not selected. I didn't really catch the details, unfortunately.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Sources 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by