python - Python:我需要创建一个具有特定规范的随机 NxN 矩阵
问题描述
我正在做一道数学作业题,这给我带来了一些麻烦。我需要编写一个 python 函数来创建一个随机矩阵,这样:
- 矩阵是 NxN
- 每个非对角线条目(其中≠)是[0,1)中的随机数
- 对角线条目是 [,+1) 中的随机数
这是我到目前为止所拥有的,但我认为我不了解数组的索引,所以我想出了问题
def randmat(n):
matrix = np.ndarray((n,n), dtype=float)
for i,j in range(0,n):
if i != j:
matrix[ij] = np.random.rand(1)
else:
matrix[ij] = n + np.random.rand(1)
return matrix
如果你知道我做错了什么,任何帮助将不胜感激!
解决方案
请尝试以下代码:
def randmat(n):
matrix = np.ndarray((n,n), dtype=float)
for i in range(n):
for j in range(n):
if i != j:
matrix[i,j] = np.random.rand(1)
else:
matrix[i,j] = n + np.random.rand(1)
return matrix