所以在固定点迭代中,我改变了矩阵的初始化方式
def init(M,N):
return 2.5*np.ones([M,N])
到
def init(M,N):
return nprnd.randint(1,6,[M,N])
哪里
import numpy as np
import numpy.random as nprnd
这立即导致
A-=步长*G
TypeError:无法使用转换规则'same-kind'将ufunc减去dtype('float64')的输出转换为dtype('int32')
很重要,我只是
nprnd.randint(1,6,[M,N], dtype='float')
除了
类型错误:randint不支持的数据类型“float64”
我该如何规避?我有点不想生成一个矩阵,然后复制它,只是把它转换成浮点数。有更聪明的方法吗?
最佳答案
您可以使用astype
进行显式转换:
nprnd.randint(1,6,[M,N]).astype("float")