2015-01-22 11 views
-1

. Разделим проблему на 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#, но вы можете использовать псевдоязык, если хотите написать код.

+0

Это звучит как домашнее задание. Что вы пробовали, где вы застряли? Ответ на часть 1 - это просто базовая линейная алгебра; найдите себе какой-нибудь основной учебник, и он объяснит, где матрица шире, чем высокая. –

+0

Затем укажите мне, пожалуйста, в правильном направлении с некоторыми ссылками или ключевыми словами. Уверяю вас, это не домашнее задание. – GaborK

+0

http://math.stackexchange.com - идеальный форум для первого вопроса. –

ответ

0

Установите дополнительные переменные в ноль. Теперь мы имеем матричное уравнение

Ах = Ь, где

x1 x2 x3 

А = у1 у2 у3 z1 z2 z3

Ь = (В1, В2, В3), как вектор-столбец Теперь инвертируем A. Решение есть;

X = A -1 .x

End матрица формула в Excel с помощью Ctrl Сдвига Enter

+0

Сингулярная матрица не имеет обратного. – GaborK

 Смежные вопросы

  • Нет связанных вопросов^_^