Re: [DS] Solving stochastic differential equations

已查看 4 次
跳至第一个未读帖子

Bolun Chen

未读,
2020年4月28日 15:18:552020/4/28
收件人 Dyn...@groupspaces.com
Hello all,

I guess somebody must have covered this topic before, but I have a question about how Dynasim handles with additive noise in ODEs.  

In the example of Izhikevich model, the input current has a fluctuating component, 

'I(t) = Iapp*(t>ton & t<toff).*(1+0.5*rand(1,Npop))'

If I choose the solver as ‘euler', then in the generated solve_ode.m file, it updates variables using the regular Euler’s method: 

pop1_v(n)=pop1_v(n-1)+dt*pop1_v_k1;
pop1_u(n)=pop1_u(n-1)+dt*pop1_u_k1;

where pop1_v_k1 and pop1_u_k1 are the r.h.s of ODEs. 

But since the current is an additive noise term, shouldn’t we use the Euler-Mayamara method: 

pop1_v(n)=pop1_v(n-1)+dt*deterministic_part + sqrt(dt)*sigma*randn() ?

It seems other solvers (rk2,rk4,all Matlab ode solvers) are doing the regular dt-update, which is designed for ODEs. But is there any solver that can deal with SDEs instead? Or did I miss something here?

Thanks for the help!

Best,
Bolun Chen

Mailing list powered by GroupSpaces - Manage your group online

Jason Sherfey via DynaSim

未读,
2020年4月28日 15:32:592020/4/28
收件人 Dyn...@groupspaces.com
Hi Bolun,

Dynasim does not have any solvers implemented that are specifically designed for SDEs. If you have a built-in Matlab or third-party function that implements the Euler-Mayamara method, there is a way to use that function to integrate a SDE model built using Dynasim. The basic approach is to specify your SDE in Dynasim, like any regular ODE model, then convert the model specification into a function handle using dsDynasim2odefun. The resulting function handle can be passed to the integrator that implements the desired method. If you decide to do this, let me know. I can help if you have trouble and then turn it into a Dynasim SDE tutorial for future reference.

I hope this helps.

Best,
Jason



Bolun Chen

未读,
2020年4月28日 17:28:332020/4/28
收件人 Dyn...@groupspaces.com、Jason Sherfey
Hi Jason, 

Thank you for the quick reply and suggestions. I’ll try to implement a sde solver and test it on one or two simple examples (like OU process and LIF neuron with noise input). I’ll let it know if I run into troubles. Thanks again!

Best,
Bolun

Mailing list powered by GroupSpaces - Manage your group online

--
Swartz postdoctoral fellow
Volen National Center for Complex Systems, Brandeis University
Waltham, MA 02453
回复全部
回复作者
转发
0 个新帖子