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

5 views (last 30 days)
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?

Accepted Answer

Walter Roberson
Walter Roberson on 16 May 2023
Edited: Walter Roberson on 16 May 2023
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 Comments
Walter Roberson
Walter Roberson on 18 May 2023
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.

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!