Hi Till,

I've provided two different implementations of the rosettacode.org example
ODE here: https://cm-gitlab.stanford.edu/mjolsen/RK4.git to give you an
idea of how to implement your Lotka-Volterra oscillators.

The first method only uses faust objects and suffers from the caveat that
the ODE solution occurs at the audio rate. Whether or not that is okay
depends on how large the error is running at that step size.
This was actually rather difficult to program as each stage of the RK4
algorithm has to be fed to the output and the next stage of the algorithm
and the output has to be recursively fed back as the next input.

The second method does the RK4 processing with a c++ foreign function where
you can process n iterations of RK4 for each audio rate sample where you
stipulate what n is. I basically just took the C rosetta code
implementation and modified it to work as I wanted it to.

Feel free to take a look and let me know if you have any questions.

Thanks,

Mike Olsen


Message: 1
> Date: Mon, 1 May 2017 12:12:15 +0300
> From: Till Bovermann <lf...@lfsaw.de>
> Subject: [Faudiostream-users] Runge-Kutta 4th order implementation,
>         how to?
> To: faudiostream-users users
>         <faudiostream-users@lists.sourceforge.net>
> Message-ID: <69659ea6-54a6-436a-9b6a-ee4a50cef...@lfsaw.de>
> Content-Type: text/plain; charset=us-ascii
>
> Hello again,
>
>
> I am interested in creating a complex oscillator based on the
> Lotka-Volterra model.
>         https://en.wikipedia.org/wiki/Lotka%E2%80%93Volterra_equations
>
> Here is an imperative implementation based on 4th order  runge-kutta for
> sound purposes:
> https://github.com/supercollider/sc3-plugins/
> blob/master/source/ChaosUGens/PredPrey.cpp#L224
>
> How would I implemented something like this in Faust?
>
> here is a decent implementation example stack for different languages
>         https://rosettacode.org/wiki/Runge-Kutta_method
>
> but they are not flow-based, so I feel out of luck.
>
> Any help or pointers are much appreciated
>
>         Till
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to