Как решать произвольные системы линейных алгебраических ур-й

Сообщение №7050 от Исхакoв 21 февраля 2003 г. 19:02
Тема: Как решать произвольные системы линейных алгебраических ур-й

АХ=В.На входе произвольные А(m,n) и В(m), на выходе нормальное псевдорешение Х.
*A'-транспонированная матрица.
Х=0
С=А'В
*С одной стороны ищется неизвестный Х для А и B
*и с другой стороны ищется уже известный В для А' и С
НачалоЦикла
В1=АC
*Найдем такое число k,чтобы длина вектора В-kВ1 была минимальной
k=(В1B)/(B1В1)
B1=kB1
X=X+kС
B=B-B1
* Проверим вектор В1 в качестве решения для А' и С.
* Для первого цикла С1 можно найти как С1=А'В1, но c тем же результатом лучше
DELTA=A'B
C1=C-DELTA
*
k=(C1C) / (C1C1)
C1=kC1
C=C-C1
КонецЦикла
Тест.
Дана СЛАУ с матрицей А(100,100), коэффициенты которой представляют собой числа
1 000 000 +t, где t- случайное рациональное число от 0 до 1.Заранеее известен
вектор -решение с координатами (1,4,9,16...10 000).Метод сошелся к решению
за 2 000 итераций.Погрешность для каждой координаты по абсолютному значению не
превысила число 0.01.


Отклики на это сообщение:

Физика в анимациях - Купить диск - Тесты по физике - Графики on-line

Реклама:
Rambler's Top100