替换矩阵python中的值

时间:2014-03-23 19:25:03

标签: python-2.7

如何用(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的所有值

0 个答案:

没有答案