From e1e05096f2cb49b47a0e3d137867994fdd79d8d8 Mon Sep 17 00:00:00 2001 From: Lena Salfenmoser Date: Tue, 2 May 2023 16:12:51 +0200 Subject: [PATCH] keep e, i in range [0,1] (#233) * keep e, i in range [0,1] * refactor as suggested --- neurolib/models/wc/timeIntegration.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/neurolib/models/wc/timeIntegration.py b/neurolib/models/wc/timeIntegration.py index b1be0bde..5872c0ba 100644 --- a/neurolib/models/wc/timeIntegration.py +++ b/neurolib/models/wc/timeIntegration.py @@ -241,6 +241,17 @@ def S_I(x): excs[no, i] = excs[no, i - 1] + dt * exc_rhs inhs[no, i] = inhs[no, i - 1] + dt * inh_rhs + # make sure e and i variables do not exceed 1 (can only happen with noise) + if excs[no, i] > 1.0: + excs[no, i] = 1.0 + if excs[no, i] < 0.0: + excs[no, i] = 0.0 + + if inhs[no, i] > 1.0: + inhs[no, i] = 1.0 + if inhs[no, i] < 0.0: + inhs[no, i] = 0.0 + # Ornstein-Uhlenbeck process exc_ou[no] = ( exc_ou[no] + (exc_ou_mean - exc_ou[no]) * dt / tau_ou + sigma_ou * sqrt_dt * noise_exc[no]