Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Комп'ютерне моделювання біологічного нейрона

Реферат Комп'ютерне моделювання біологічного нейрона





ted on: 04.11.2013

* Author: pavel

*/

# include lt; iostream gt;

# include lt; fstream gt;

# include lt; cstdlib gt;

# include lt; cmath gt; float h=.5f;// Часовий крок інтегрірованіяint Tsim=1000/.5f;// Час симуляції в дискретних отсчетахint Nexc=100;// Кількість збуджуючих (excitatory) нейроновint Ninh=25;// Кількість гальмівних (inhibitory) нейронів

const int Nneur=Nexc + Ninh; int Ncon=Nneur * Nneur * 0.1f;// Кількість сязей,

//0.1 це ймовірність зв'язку між 2-ма випадковими нейронаміVms [Nneur] [Tsim];// Мембранні потенціалиUms [Nneur] [Tsim];// Допоміжні змінні моделі ІжікевічаIex [Nneur];// Зовнішній постійний струм прикладений до нейронуIsyn [Nneur];// Синаптичний струм на кожен нейронpre_conns [Ncon];// Індекси пресинаптичних нейроновpost_conns [Ncon];// Індекси постсинаптичних нейроновweights [Ncon];// Ваги связейy [Ncon] [Tsim];// Змінна модулирующая синаптичний струм в залежності від спайков на пресінапсеpsc_excxpire_time=4.0f;// Характерне вермя спадания постсинаптичного струму, мсminWeight=50.0f;// Ваги, розмірність пкАmaxWeight=100.0f;

//Параметри нейронаIex_max=40.0f;// Максимальний прикладений до нейрона струм 50 ПКА

float a=0.02f; b=0.5f;

float c=- 40.0f;// Значення мембранного потенціалу до якого він сбрасиваеться після спайка

float d=100.0f; k=0.5f; Vr=- 60.0f; Vt=- 45.0f;

float Vpeak=35.0f;// Максимальне значення мембранного потенціалу, при якому відбувається скидання до значення сV0=- 60.0f;// Початкове значення для мембранного потенціалаU0=0.0f;// Початкове значення для допоміжної переменнойCm=50.0f;// Електрична ємність нейрона, розмірність пкФ

float spike_times [Nneur * Tsim];// Часи спайков

int spike_neurons [Nneur * Tsim];// Соответвует номера нейронів

int spike_num=0; namespace std; init_connections () {(int con_idx=0; con_idx lt; Ncon;) {

//випадково вибираємо постсіпантіческіе і пресинаптичні нейрони

int pre=rand ()% Nneur; post=rand ()% Nneur; _conns [con_idx]=pre; _conns [con_idx]=post; [con_idx]=(rand ()% (( int) (maxWeight - minWeight) * 10))/10.0f + minWeight;

if (pre gt;=Nexc) {

//якщо пресинаптичний нейрон гальмові то вага зв'язку йде зі знаком мінус

weights [con_idx]=-weights [con_idx];

} [con_idx] [0]=0.0f; _idx ++;

}

} init_neurons () {(int neur_idx=0; neur_idx lt; Nneur; neur_idx ++) {

//випадково розкидаємо прикладені струми [neur_idx]=(rand ()% (int) (Iex_max * 10))/10.0f;

Isyn [neur_idx]=0.0f; [neur_idx] [0]=V0; [neur_idx] [0]=U0;

}

} izhik_Vm (int neuron, int time) {(k * (Vms [neuron] [time] - Vr) * (Vms [neuron] [time] - Vt) - Ums [neuron] [ time] + Iex [neuron] + Isyn [neuron])/Cm;

} izhik_Um (int neuron, int time) {a * (b * (Vms [neuron] [time] - Vr) - Ums [neuron] [time]);

} save2file () {res_file; _file.open ( rastr.csv ); (int k=0; k lt; spike_num; k ++) {_ file lt; lt; spike_times [k] lt; lt; laquo ;; lt; lt; spike_neurons [k] + 1 lt; lt; laquo ;; lt; lt; endl;

} _ file.close ();

//Обчислення середнього по всій мережі мембранного потенціалу в кожен момент часу

//щось на зразок електроенцефалографіі_file.open ( oscill.csv );

for (int t=0; t lt; Tsim; t ++) {Vm_mean=0.0f; (int m=0; m lt; Nneur; m ++) {_ mean +=Vms [m] [ t];

} _ mean /=Nneur; _file lt; lt; t * h lt; lt; laquo ;; lt; lt; Vm_mean lt; lt; laquo ;; lt; lt; endl;

} _ file.close ();

} main () {_ connections (); _ neurons (); expire_coeff=exp (-h/psc_excxpire_time); (int t=1; t lt; Tsim; t ++) {

//проходимо по всіх нейронах (int neur=0; neur lt; Nneur; neur ++) {

Vms [neur] [t]=Vms [neur] [t - 1] + h * izhik_Vm (neur, t - 1); [neur] [t]=Ums [neur] [t- 1] + h * izhik_Um (neur, t - 1); [neur]=0.0f; (Vms [neur] [t - 1] gt; Vpeak) {[neur] [t]=c; [neur] [ t]=Ums [neur] [t - 1] + d; _times [spike_num]=t * h; _neurons [spike_num]=neur;

spike_num ++;

}

}

//проходимо по всіх зв'язках

for (int con=0; con lt; Ncon; con ++) {


Назад | сторінка 14 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Організація закупівель ресурсів в умовах функціонування системи Just-in-Tim ...
  • Реферат на тему: Методична рекомендація по виконанню джазових стандартів &Ev'ry time we ...
  • Реферат на тему: Електричне поле. Постійний і змінний електричний струм. фізичні основи ре ...
  • Реферат на тему: Статистичні Індекси та їх значення в Економічних дослідженнях
  • Реферат на тему: Розробка мембранного насоса на фріон