<< Chapter < Page | Chapter >> Page > |
In this section we will step through 2 different simulations using the matlab code. In the First simulation we will stimulate several cells in an assembly and several "noise" cells. Then the assembly will activate, shut down the noise and eventually die out. In the second we will have to different assemblies "compete".
I have created a code called pattern maker.m which is an easy way to get a matrix will a designated number of cells, number of patterns, and number of cells per pattern. We will start with a network with 50 excitatory cells and train it with 8 patterns, containing 8 cells in each pattern. Type help pattern maker into a matlab prompt to get the details:
>> help pattern_maker
pattern_maker.m - creates a pattern matrix. Each row represents a
pattern with 1's for active cells, 0's for inactive cells.
pattern = pattern_maker(n_cells,n_patterns,n_active)
where: n_cells = number of cells
n_pattern = number of patterns
n_active = number active units per pattern
output: pattern = n_patterns x n_cells matrix with each row a
randomized pattern with n_active units
Now lets create a variable pp which will store the pattern matrix.
>> pp = pattern_maker(50,8,8);
Now that we have a pattern we can run the main piece of code that will do the simulation: LF network.m. Note that many of the parameters are only accessible in the code and would have to be directly edited if the user wishes to change them.
>> help LF_network
LF_network.m - This function runs the Lansner-Fransen type simulations as
detailed in their paper - "Modelling Hebbian cell assemblies comprised of
cortical neurons". There are an equal number of excitory and inhibitory
cells. Each excitory cell has a companion inhibitory cell which synapses
onto it. The network is trained with different patterns loaded in. Then
its calls a code which produces connection strengths. Positive strengths
form Excitory to Excitory connections. Negative strengths form
connections from Excitory to Inhibitory cells.
[v_ex,v_in] = LF_network(dt,Tcutoff,Tfin,I0,stim_cells,Patterns)
where: dt = time step
Tcutoff = time cutoff for stimulated cells
Tfin = time end simulation
I0 = stimulation size for cells
stim_cells = vector of cells recieving stimulus
Patterns = matrix where each row is a pattern the network is
trained with
returns: v_ex = Voltages for excitory cells, indexed as
ve(cell,timestep,compartment)v_in = Voltages for inhibitory cells, indexed as
vi(cell,timestep,compartment)ex. pp = pattern_maker(50,8,8)
[v_ex, v_in] = LF_network(.01,50,350,1,[1 6 8 10 25],pp);
As explained in the help file above one must choose the cell numbers to stimulate. In order to pick several cells in one assembly we will enter the following command to get the indices of one of the patterns:
>> find(p(1,:)==1)
ans =
19 23 28 29 32 35 36 42
Thus we will choose to stimulate cells 19, 23, 28, 29 and add the noise stimuli of cells 45, 46, and 47. The simulation will last for 350 ms and the stimulation will last for 50 ms. A 1.5 nA stimulus is injected into each respective cell soma. After the output is saved we load the results in a code which displays the results: viewer.m.
Notification Switch
Would you like to follow the 'The art of the pfug' conversation and receive update notifications?