Моя проблема в том, что у меня есть матрица, в которой сумма всех строк и сумма всех столбцов равна нулю. Все числа округлены до x десятичных знаков.
Затем я умножаю всю матрицу на число от 0 до 1 (например, 1/6) и округляю все числа до x десятичных знаков. Теперь я не могу быть уверен, что сумма строк и столбцов будет равна нулю. Я хочу, чтобы суммы снова были равны нулю с наименьшей возможной корректировкой (или, по крайней мере, очень маленькой корректировкой)
Есть ли алгоритм, который может решить такую проблему?
Пример (очень простой): матрица:
200 -200 0
400 400 -800
-600 -200 800
round2 ((1/6) * матрица)
33.33 -33.33 0
66.67 66.67 -133.33
-100 -33.33 133.33
abs(sum) <= 0.01
- person Blazemonger   schedule 05.12.2012