pvyu
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Задача ставится как общая задача метода наименьших квадратов, именуемая как задача LSE: дана СЛАУ A*x=B, которая следует из постановки МНК, а также задана системе линейных ограничений: B*x=C. A - квадратная матрица полного ранга, B - прямоугольная матрица с меньшим количеством строк. Требуется: найти такое решение, чтобы система линейных B*x=C ограничений удовлетворялась жестко, при этом система A*x=B имела минимальные ошибки. Такая задача, в целом, известна. Есть монография Себера "Линейный регрессионный анализ", а также книга Лоусен, Рихтер "Численное решение задач метода наименьших квадратов", в матлабе есть решающая такую задачу функция lsqlin, кроме того, можно найти статьи по данной проблеме. Однако расчёт не корректен. В lsqlin, по всей видимости, реализован метод из Себера. Его результат удовлетворяет ограничениям, однако на простых примерах видно, что существуют иные решения, которые дают меньшую ошибку для системы A*x=B. Алгоритмы из Лоусена и статей по сути также сводятся к Себеру. Решал ли кто-нибуть корректно такую задачу и каким способом? |