C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Плохообусловленные системы уравнений
Николай
Отправлено: 08.12.2003, 15:15


Дежурный стрелочник

Группа: Участник
Сообщений: 55



Кто встречался с плохообусловленными задачами?
Есть ли программа или метод расчета плохообусловленной
системы уравнений.
tsl
Отправлено: 13.12.2003, 09:01


Дежурный стрелочник

Группа: Участник
Сообщений: 65



Конечно есть.

Конкретно я борюсь с плохой обусловленностью системы методом регуляризации Тихонова.

Метод регуляризации существует во многих вариантах. Можно и нужно "вести" его от постановки задачи. В самом примитивном случае (чтобы не учитывать постановку конкретной задачи) можно ввести некоторый приоретет малых по норме решений. Сила этого приоритета вводится коеффициентом регуляризации. Чем он больше, тем более хорошо обусловлена система.

Но этот метод может противоречить постановке конкретной задачи. Лучше если в способе регуляризации будет принимать участие какое то условие от постановки задачи.

Отредактировано tsl — 15/12/2003, 18:47
Николай
Отправлено: 15.12.2003, 12:10


Дежурный стрелочник

Группа: Участник
Сообщений: 55



Не подскажите ли, где посмотреть алгоритм и метод решения (буду признателен, если сбросите) системы линейных уравнений вида:

AX=Z,

A — плохообусловленная матрица, размерности [n x n]
X-вектор неизвестных
Z-результат эксперимента с погрешностью 5%

Прямая задача (знаю A и X) решается без проблем, но как
быть с обратной (знаю A и ~Z). Причем изменяя Z на 5%
результат X меняется катострофически.

Мои проблемы еще в том, что я не математик.

Помогите пожалуйста, заранее спасибо.
tsl
Отправлено: 18.12.2003, 01:01


Дежурный стрелочник

Группа: Участник
Сообщений: 65



Решение системы AX=Z соответствует минимизиции функционала

Ф(Х) = || AX-Z||, который тот же минимум что и функционал
Ф(Х) = || AX-Z||^2, где ^ — операция возведения в степень;
||-"-|| — норма в дальнейшем рассмотрение ведется для эвклидовой нормы.

В самом простейшем случае метода регуляризации этот функционал заменяется на функционал

Ф(Х) = a ||X||^2+|| AX-Z||^2

где a — коэфициент регуляризации.

В матричном виде минимизация соответствует решению системы

(A^TA+aE)X=A^TZ, где A^T — транспонированная матрица А, Е — единичная матрица.

Собственно эта система и решается относительно X.
При достаточно больших "a" эта система устойчива. Но "а" должно быть как можно более малым. В простейшем случае можно искать "а" методом "тыка".

Отредактировано tsl — 18/12/2003, 13:53
Николай
Отправлено: 23.12.2003, 14:21


Дежурный стрелочник

Группа: Участник
Сообщений: 55



Спасибо,
попробую "переварить"
tsl
Отправлено: 24.12.2003, 06:48


Дежурный стрелочник

Группа: Участник
Сообщений: 65



Не за что. Если будут конкретные сложности, обращайся. Во всем этом деле надо помнить, что плохая обусловленность системы уравнений, или, что тоже самое матрицы, является отражением свойств того объекта, который математически представляется матрицей. Корни всего этого надо искать в самой постановке задачи. В этом случае говорят, что задача не устойчива. Когда ты борешься за устойчивость задачи, ты явно или не явно работаешь с постановкой задачи.

Конкретно, в методе который тебе предложен, в неявном виде вводится дополнение к постановке задачи. Точный поиск решения заменяется приближенным, и таким, что решение по норме стремится быть несколько меньше. Фактически, в постановку задачи вводится условие, что решение должно быть малым по норме. Степень малости регулируется коэфициентом регуляризации. Это не единственная возможность. Практически всегда регуляризирующий член "а||x||" можно задать более подходящим образом, исходя из смысла задачи. Поэтому работа с неустойчивыми алгоритмами это "взрослая" задача. Никакого готового программного обеспечения под него быть не может просто по смыслу самой проблемы. Хотя, наверняка, существуют какие-то пакеты для каких-либо конкретных случаев, но я ими не интересовался.
Student
Отправлено: 15.01.2007, 17:41


Ученик-кочегар

Группа: Участник
Сообщений: 1



Народ подскажите пожалуйста в чем суть плохообусловленных матриц?
Т.е. почему эти самы матрицы дают такие "плохие" решения.
Мне препод вопрос задал-"Ну а почему эти матрицы дают такой ответ...."
Gedeon
Отправлено: 18.01.2007, 10:45


Ветеран

Группа: Модератор
Сообщений: 1742



Почитай справочник по математике, причем здесь программирование?

Вернуться в Вопросы программирования в C++Builder