In [56]:
import nengo


threshold = 0.725
n_eval_points = 500
eval_point_margin = 0.01
eval_points = nengo.utils.distributions.Uniform(
     threshold + eval_point_margin, 1 + eval_point_margin
     ).sample(n_eval_points).reshape(-1, 1)


model = nengo.Network()
with model:
    a = nengo.Ensemble(n_neurons=250, dimensions=1,
                       intercepts=nengo.utils.distributions.Uniform(threshold, threshold+0.1),
                       max_rates=nengo.utils.distributions.Uniform(100, 200),
                       encoders=nengo.utils.distributions.Choice([[1]]),
                       eval_points=eval_points)
    output = nengo.Node(lambda t, x: None, size_in=1)
    conn = nengo.Connection(a, output)
    

sim = nengo.Simulator(model)

In [57]:
d = sim.model.params[conn].decoders

import nengo.utils.ensemble
x = np.linspace(0.5,1,100)
x.shape = 100,1
x, a = nengo.utils.ensemble.tuning_curves(a, sim, eval_points=x)

subplot(2,1,1)
plot(x,a)
subplot(2,1,2)
plot(x, np.dot(a, d.T)*sim.model.dt)
axvline(threshold)
show()



In [ ]: