У меня есть 36 линейных уравнений с 36 переменными в виде матрицы: A * X = B. И у меня есть два условия: сумма всех x (i) должна быть равна единице И все x (i)> 0. Уравнения в этих условиях не имеют точного ответа, поэтому я ищу приближенное решение с наименьшая квадратная ошибка, удовлетворяющая условиям. Я новичок в Matlab и совершенно новый для линейного программирования, поэтому любой комментарий поможет.Как найти приближенное решение набора линейных уравнений, удовлетворяющих некоторым условиям?
ответ
Одним из способов решения набора линейных уравнений является использование правила Крамера. Вот эта ссылка: http://en.wikipedia.org/wiki/Cramer 's_rule
Как только вы получите набор решений, вы можете проверить два неравенства, если они удовлетворяют решению.
В противном случае лучшим было бы использовать метод Simplex или метод Big M, обрабатывающий все 38 в качестве ограничений для поиска решения. http://en.wikipedia.org/wiki/Simplex_algorithm http://en.wikipedia.org/wiki/Big_M_method
Надеюсь, это поможет.
Для точных решений систем линейных уравнений вы делаете один LU-разложение матрицы 'A'. Это можно использовать для всех столбцов 'X'. Не используйте правило Крамера. Это дорого и численно нестабильно. На самом деле лучшим численным способом вычисления детерминант является LU-разложение. –
Yuck @ Правило Крамера. Это хорошо для небольших систем (3 х 3), но для больших систем требуется большая вычислительная мощность и вызывает большую головную боль .... особенно потому, что вам нужно рассчитать детерминанту. Используйте LU-разложение, как упоминалось Хорстом. – rayryeng
- 1. Быстрое приближенное решение линейных уравнений?
- 2. Решение линейных уравнений
- 3. Решение системы линейных уравнений
- 4. Решение системы линейных уравнений
- 5. Решение линейных систем уравнений
- 6. Решение линейных (переопределенных) алгебраических уравнений
- 7. Решение линейных уравнений с numeric.js
- 8. Решение набора линейных уравнений в открытом тексте с использованием sympy
- 9. Решение системы линейных уравнений с использованием mathdotnet?
- 10. Решение линейных уравнений в Fortran 95
- 11. Scala Breeze: Решение сложной системы линейных уравнений
- 12. Решение разреженных линейных уравнений в matlab
- 13. Решение двух линейных уравнений с одной переменной
- 14. Решение линейных уравнений, представленных в виде строки
- 15. Решение X из линейных уравнений на схеме?
- 16. Решение двух линейных уравнений в программе
- 17. решение линейных уравнений: усложнило определение матрицы
- 18. решение n линейных уравнений с массивами
- 19. Решение линейных диофантовых уравнений в C++
- 20. Решение линейных уравнений с ограничением в Python
- 21. R: Поиск строк, удовлетворяющих условиям
- 22. линейных уравнений с бинарными переменными
- 23. Решить систему линейных уравнений
- 24. линейных уравнений переставить
- 25. Поиск подмножеств набора векторов, которые удовлетворяют некоторым условиям
- 26. Как решить систему линейных уравнений в Excel
- 27. Решение системы из 2 линейных уравнений с использованием C++
- 28. Решение системы линейных уравнений неупитанный с Lapack и совместно
- 29. решение набора линейных уравнений с использованием R для уравнения плоскости 3D
- 30. Решение линейных уравнений w. три переменные, используя NumPy
Я не понимаю, почему нет точного решения. Каковы размеры 'X' и' B'? Кстати, 'X' кажется стохастической матрицей. Кроме того, ваш вопрос, по-видимому, лучше подходит для http://scicomp.stackexchange.com/ –
возможного дубликата метода наименьшего квадрата с ограничением (http://stackoverflow.com/questions/30354653/least-square-method- с-a-constraint) – knedlsepp
Пожалуйста, не публикуйте несколько другую формулировку своего вопроса каждый час. Скорее дайте нам достаточно информации в своем вопросе, чтобы дать вам правильный ответ. Вы начали с простых наименьших квадратов, затем добавили ограничение положительности и теперь ограничение 'sum (x (i)) == 1'. Немного о том, что вы пытаетесь решить с этим, тоже не плохо. – knedlsepp