. Разделим проблему на 2 части, вторая - необязательна.Findig решение для системы линейных уравнений, которая имеет больше переменных, чем уравнения.
Часть 1
У меня 3 линейных equtions с N, где N переменных, как правило, больше, то 3.
- х1 * х2 а + * Ь + х3 * с + х4 * D [... .] xN * p = B1
- y1 * a + y2 * b + y3 * c + y4 * d [....] yN * p = B2
- z1 * a + z2 * b + z3 * c + z4 * d [....] zN * p = B3
Поиск (a, b, c, d, [...], p), другие постоянная.
Стандартный гауссовский способ не будет работать, потому что матрица будет более широкой, чем высокая. Конечно, я могу использовать его для устранения 2 переменных. Вы знаете алгоритм, чтобы найти решение? (Мне нужен только один.) Больше 0s в коэффициентах решения лучше, но не требуется.
Часть 2
Коэффициенты в растворе должно быть неотрицательным.
Требования: Алгоритм должен быть достаточно быстрым, чтобы работать в реальном времени. (1800 единиц в секунду на avrage pc). Таким образом, метод проб и ошибок - это не выход. Алгоритм будет реализован на C#, но вы можете использовать псевдоязык, если хотите написать код.
Это звучит как домашнее задание. Что вы пробовали, где вы застряли? Ответ на часть 1 - это просто базовая линейная алгебра; найдите себе какой-нибудь основной учебник, и он объяснит, где матрица шире, чем высокая. –
Затем укажите мне, пожалуйста, в правильном направлении с некоторыми ссылками или ключевыми словами. Уверяю вас, это не домашнее задание. – GaborK
http://math.stackexchange.com - идеальный форум для первого вопроса. –