我的问题是,我有一个矩阵,其中所有行的总和和所有列的总和都为零。所有数字都舍入到x个小数位数。
然后,我将整个矩阵乘以介于0和1之间的数字(例如1/6),并将所有数字舍入到x个小数位数。现在,我不能确定行和列的总和是否仍然是零。我希望行和列的总和再次为零,并进行最小可能的调整(或者至少进行非常小的调整)。
是否存在一种算法可以解决这样的问题?
例如(非常简单的)矩阵:
然后,我将整个矩阵乘以介于0和1之间的数字(例如1/6),并将所有数字舍入到x个小数位数。现在,我不能确定行和列的总和是否仍然是零。我希望行和列的总和再次为零,并进行最小可能的调整(或者至少进行非常小的调整)。
是否存在一种算法可以解决这样的问题?
例如(非常简单的)矩阵:
200 -200 0
400 400 -800
-600 -200 800
round2( (1/6)*matrix)
33.33 -33.33 0
66.67 66.67 -133.33
-100 -33.33 133.33
abs(sum) <= 0.01
。 - Blazemonger