born Posted May 29, 2023 Share Posted May 29, 2023 Is there any possibility to force a brownian motion to be reflected within a lower and an upper (maybe even changing) limit? Thanks for suggestions. Achim Quote Link to comment Share on other sites More sharing options...
opmo Posted May 29, 2023 Share Posted May 29, 2023 do you mean: (vector-round 0.0 6.0 (gen-brownian-motion 128)) Quote Link to comment Share on other sites More sharing options...
born Posted May 30, 2023 Author Share Posted May 30, 2023 14 hours ago, opmo said: do you mean: (vector-round 0.0 6.0 (gen-brownian-motion 128)) Thats a good start. Now, how can I map the brownian motion to a tendency mask? Quote Link to comment Share on other sites More sharing options...
born Posted May 30, 2023 Author Share Posted May 30, 2023 21 hours ago, opmo said: do you mean: (vector-round 0.0 6.0 (gen-brownian-motion 128)) Is this calculation really reflecting the brownian motion at the limits before a new step is calculated or it is just mapping the result into a specified range? Quote Link to comment Share on other sites More sharing options...
opmo Posted May 30, 2023 Share Posted May 30, 2023 (setf bw (gen-brownian-motion 128 :seed 425)) (vector-round 0.0 6.0 bw) Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted May 30, 2023 Share Posted May 30, 2023 For further information about the concept of tendency masking, here's 2 links to Cmask implementation. Something similar in OM would be nice. CMask Manual ABARTETZKI.USERS.AK.TU-BERLIN.DE CMask Article ABARTETZKI.USERS.AK.TU-BERLIN.DE opmo 1 Quote Link to comment Share on other sites More sharing options...
erka Posted May 31, 2023 Share Posted May 31, 2023 How would a tendency mask be different to this? (progn (setf bw (gen-brownian-motion 128 :seed 425)) (setf env1 '(-5.1 -2.3 1.5 -0.8 4.6 10.6)) (setf env2 '(1.0 1.2 -1.1 2.1 -0.3 -2.5)) (list-plot (vector-to-envelope2 env1 env2 bw)) ) AM and Stephane Boussuge 1 1 Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted May 31, 2023 Share Posted May 31, 2023 6 hours ago, erka said: How would a tendency mask be different to this? (progn (setf bw (gen-brownian-motion 128 :seed 425)) (setf env1 '(-5.1 -2.3 1.5 -0.8 4.6 10.6)) (setf env2 '(1.0 1.2 -1.1 2.1 -0.3 -2.5)) (list-plot (vector-to-envelope2 env1 env2 bw)) ) For me, I think that's perfect ! I know many of the OM functions but totally forgot about that one. Thank you for the trick ! Best S. AM 1 Quote Link to comment Share on other sites More sharing options...
erka Posted June 2, 2023 Share Posted June 2, 2023 I had another look at it. Yes , it is a trick . But not what born wanted: "brownian motion to be reflected within a lower and an upper (maybe even changing) limit" Vector-round and vector-to-envelope2 almost ignore :amp and :output of gen-brownian-motion. They just squeeze and move the result. I understand that born wanted that when a walk goes upward to a limit it returns at the limit but keeps the :amp and :output. So you have a :amp 4 and you reach 5.0 you don't move above 5.0 but return. vector-to-envelope2 doesn't do that. But squeezes the :amps after the walk. So I think there is a difference to a tendency mask . @born: Are the solutions offered good enough or not really addressing what you wanted. Quote Link to comment Share on other sites More sharing options...
opmo Posted June 2, 2023 Share Posted June 2, 2023 I will add to the function reflect - ensures the simulated motion stays between the lower and upper limits by reflecting it at those limits. erka, JimmyTheSaint and AM 2 1 Quote Link to comment Share on other sites More sharing options...
opmo Posted June 3, 2023 Share Posted June 3, 2023 New gen-brownian-motion - update 3.0.28929 Stephane Boussuge and erka 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.