Python:我需要创建一个具有特定规范的随机NxN矩阵
我正在做一道数学作业,这道题给我带来了一些麻烦。我需要编写一个python函数来创建一个随机矩阵,以便:Python:我需要创建一个具有特定规范的随机NxN矩阵,python,function,matrix,Python,Function,Matrix,我正在做一道数学作业,这道题给我带来了一些麻烦。我需要编写一个python函数来创建一个随机矩阵,以便: 矩阵是NxN 每个非对角输入(请尝试以下代码: 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
- 矩阵是NxN
- 每个非对角输入(请尝试以下代码:
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
如果使用的是
,则可以通过两种方式访问矩阵元素:numpy
或matrix[i][j]
另外,在matrix[i,j]
循环中,您试图从for
中获取两个值,这实际上只产生一个值。因此,您不能像这样使用范围
和i
进行循环 我会为你的问题提出以下解决方案j
def randmat(n): matrix = np.random.rand(n, n) for i in range(n): matrix[i, i] = n + np.random.rand(1) return matrix
是一个很好的函数,它为您提供所需形状的矩阵和元素,这些元素随机分布在0和1之间。以下是文档: 然后,您只需迭代一次并更改主对角线上的元素numpy.random.rand
希望这将有助于对于多维numpy数组,您可以使用
而不是matrix[i][j]
访问元素,因此我遇到了一些问题什么问题?请参阅。matrix[ij]