Sequential discrimination model: computer code
The codes simulate neurons involved in
a task requiring an initial stimulus (f1),
retention of the value of the inititial stimulus in memory
during a delay, followed by a second stimulus (f2).
The codes use integral feedback control to
produce neurons tuned to the difference of the
two stimuli. This allows a response to be made based
on which of the two stimuli was greater.
The xppaut codes are based on firing rate models.
The C++ code simulates a network of spiking neurons.
2-unit integral feedback control with a continuous integrator.
2-unit integral feedback control with a discrete integrator.
To run the code:
1) Download all files.
2) Compile eg:
g++ netinmain.cpp discrimnet.cpp structure.cpp -O3 -o dis
3) Run the executable followed by a number. Last 4 digits, N,
encode the stimulus
set where N=2(f1)+1,odd, if f2>f1 and N= 2(f1), even, if f1>f2.
The first digits form the randum number seed.
eg ./dis 150021 > dis.out &
will run the code with random number seed of 15, using f1=10Hz and
f2>f1, in the present version f2=18Hz.
./dis 3310044 > dis.out &
will run the code with random number seed of 331 and uses f1=22Hz and
f1>f2 such that f2=14Hz in this version.
Adjustments: at present, the code is designed to run using the script,
with f2=f1+8Hz or f2=f1-8Hz. As of now, to change the frequency difference,
the code in netinmain.cpp should be altered, where the variable
istrength2 is set.
script to run C++ code: runs 14 jobs in parallel with Mosix
C++ code with comments on how to run it:
C++ startup code containing `main':
C++ code with connectivity profile setup:
Header file with most parameters and their purpose:
Random Number generator file:
Input file with single neuron properties and simulation times:
Input file with connection strengths:
Last modified August 23, 2005
Paul Miller, firstname.lastname@example.org
Back to Paul Miller's home page