#include <iostream>
#include <cstring>
using namespace std;
static unsigned long Next = 1;
//RAND_MAX assumed to be 32767
int myrand(void) //题目中已给出的伪随机数生成函数
{
Next = Next * 1103515245 + 12345;
return((unsigned)(Next/65536)%32768);
}
int N, S, P, T;
double Dt; //Delta_t 时间间隔
//定义存储结构体,神经元和突触
int rn;
struct neural{
double v_pre, u_pre; //神经元内状态参数v和u的前一时间间隔整数倍的时刻,即前一记录时刻的状态
double v, u; //神经元内状态v和u为当前记录时刻的状态
double a, b, c, d; //神经元内的其他参数,常量 ,a和b是用来通过上一记录时刻计算此时记录时刻的状态所需要用到的参数
//c和d是当该神经元某时刻受到所有脉冲之和大于或等于30时,用来再次重置v和u
}NN[1000];
int r[1000]; //用来存储每个脉冲源的参数,即r
double IK[1000][10000] = {0}; //记录突触的某个时刻出结点和延迟后时间 的突触传播的强度 ,即某个强度,什么时刻,到达某个出结点
//又因为出结点的编号恰好与神经元对应,即到达的是某个编号的神经元
struct edg{
int from, to; //突触的入结点编号,出结点编号
double w; //在该突触上传播的脉冲强度,虽然脉冲是神经元或脉冲源发射脉冲
//但由于突触的方向是单向的,所以,可以只记录传播时的脉冲强度
in
CCF CSP 202109-3 脉冲神经网络
于 2022-05-26 09:40:14 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)