所以我试图用我自己定义的一些标准值创建一个 3D 数组(实际上是其他人,但这并不重要)这是我的代码:
Tt = 120 # Total duration (sec)
delta = 0.001 # Time bin (sec)
T = Tt/delta # number of time bins
Ncells = 8;
Cmap = np.zeros([Ncells,Ncells,int(T)])
ExcInhID = np.expand_dims([1, -1, 1, -1, 1, -1, 1], axis =1)
a = list(range(0,int(T)))
for t in a:
Cmap[:,:,t] = (-1)*np.identity(Ncells)
Cmap[1:,0,t] = list(ExcInhID*np.ones([Ncells-1,1])*(1 - min(max(t-T/3,0)*(1/(T/3)),0)))
CC5 = list(np.arange(0,Ncells)) ; del CC5[4];
Cmap[CC5,4,t] = list(ExcInhID*np.ones([Ncells-1,1])*(min(max(t-T/3,0)*(1/(T/3)),0)))
Cmap[6,2,t] = 1; Cmap[5,7,t] = -1; Cmap[1,5,t] = 1;
这确实有效,直到
Cmap[CC5,4,t] = list(ExcInhID*np.ones([Ncells-1,1])*(min(max(t-T/3,0)*(1/(T/3)),0))) Cmap[CC5,4,t] = list(ExcInhID*np.ones([Ncells-1,1])*(min(max(t-T/3,0)*(1/(T/3)),0)))
我在哪里得到错误:
ValueError:形状不匹配:形状 (7,1) 的值数组无法广播到形状 (7,) 的索引结果
这很奇怪,因为它确实在另一条线上工作:
Cmap[1:,0,t] = list(ExcInhID*np.ones([Ncells-1,1])*(1 - min(max(t-T/3,0)*(1/(T/3)),0)))
我已经尝试了一切,但不知道该怎么办了.. 你们有什么建议吗?
一只斗牛犬
相关分类