我正在尝试生成一个矩阵,其中包含mxn并包含随机数。我已经生成了以下代码,但我对收到的错误感到困惑。这是我正在使用的代码:
class MP:
def __init__(self,
mSize, nSize
):
self.mSize=mSize,
self.nSize=nSize
def RMatrix(param):
assert isinstance(param, MP)
m = int(param.mSize)
n = int(param.nSize)
A=np.random.rand(m,n)
return (np.matrix(A))
我收到错误:int()参数必须是字符串或数字,而不是'tuple'。为什么值作为元组传递?这里发生了什么,我该如何解决这个问题?
答案 0 :(得分:0)
知道了。你的init中有一个逗号(在self.mSize = mSize **,**)。删除它,你的代码将正常工作。
import numpy as np
class MP:
def __init__(self,
mSize, nSize
):
self.mSize=mSize
self.nSize=nSize
def RMatrix(param):
assert isinstance(param, MP)
m = int(param.mSize)
n = int(param.nSize)
A=np.random.rand(m,n)
return (np.matrix(A))
x=MP(3,3)
print x.RMatrix()
输出:
[[ 0.88170563 0.56061723 0.71311863]
[ 0.3550273 0.83179011 0.10337231]
[ 0.43324567 0.52177816 0.04648175]]