如何用(0 * n)矩阵替换大于1的0的元素值? 我试过使用矩阵[matrix> = 1] = 0但是它不起作用。 这是代码。
def stationarydist(self):
q,Q= self.q,self.Q,
mat=np.empty([Q+1, Q+1])
for i in range(Q+1):
if i<=q:
mat[i,0]=(1/2)**Q
for z in range(Q):
mat[i,z+1]=(1/2)**(Q-z)
else:
mat[i,0]=(1/2)**i
for j in range(Q):
mat[i,j+1]=(1/2)**(i-j)
mat[mat>=1]=0
出现以下错误。
mat[i,j+1]=(1/2)**(i-j)
ZeroDivisionError: 0.0 cannot be raised to a negative power
这个想法是用零填充i-j <0的所有值