【发布时间】:2022-11-16 23:51:17
【问题描述】:
我正在进行概率计算,我可以为一个小矩阵运行我的代码;
P_4 = np.array([
[0 ,1 ,0 , 0, 0],
[0 ,1/4,3/4, 0, 0],
[0 ,0 ,2/4,2/4, 0],
[0 ,0 ,0 ,3/4,1/4],
[0 ,0 ,0 , 0,1 ],
])
但是,我想创建一个 N*N 矩阵并填充对角线上的值 0/n 和下一个值 1 - 0/n。
n = 5
a = np.zeros((n,n),dtype = int)
np.fill_diagonal(a,np.array([range(1/n)]))
a
写上面的代码给我错误
TypeError: 'float' object cannot be interpreted as an integer我将不胜感激任何建议。
【问题讨论】:
-
错误来自
range(1/n)。 range() 不能带浮点数。那么你想从那里得到什么?