【发布时间】:2019-05-25 03:15:24
【问题描述】:
从Creating a matrix of arbitrary size where rows sum to 1? 开始,我们可以通过将矩阵中的每个值除以所有值的总和来简单地对值进行归一化,以确保其总和为 1。
例如:
cols, rows = 5, 5
matrix = np.random.rand(rows, cols)
matrix/matrix.sum(axis=1)[:,None]
如何创建行和为 0 的任意大小的矩阵?
我试过了:
cols, rows = 5, 5
x = np.random.rand(rows, cols)
z = x - sum(sum(x)) / (rows*cols)
它是一个接近于零但从不求和为零的数字 =(
【问题讨论】:
-
我认为如果您使用浮点数,由于数字舍入错误,您将永远不会完全为 0。一种解决方案是使用整数。您是否有理由需要它恰好为 0 而不是数字上的 0?
-
另外,在您的上例中,每一行的总和为 1,而不是整个矩阵的总和为 1。
标签: python numpy matrix determinants