ЛАБОРАТОРНАЯ РАБОТА 6.
Решение плохо обусловленных систем уравнений
ЗАДАНИЯ
Познакомиться с командами input, eye, diag, norm, det , cond, pinv, nnls, “ \ ”.
Познакомиться с функцией demomatr(n,ep), которая по параметрам ep и n возвращает матрицу n*n следующего вида:
и
вектор-столбец правой части
,
т.е.
.
Тем
самым будет задана система ЛАУ
.
(*)
Вычислить
det(A), cond(A),
(см. help inv, help \ ), epsilon=
(см. help norm). (пример
в demoprog(n,ep)
)
Убедиться,
что при ep=1:
det(A)=1 (для любого n),
а точным решением системы (*) является
вектор
.
Проверить,
что при
:
(при нечетных n) и
(при четных n).
Последовательно
уменьшая величину ep
(например, делением
пополам, начальное значение ep=1)
для фиксированного значения n,
например, n=20, вычислить
det(A),
cond(A),
,
epsilon=
.
Обратите внимание на то, что при малых
значениях ep система
становится «плохо обусловленной», о
чем свидетельствует большое значение
числа обусловленности, определяемого
командой cond(A).
Меняя
произвольно пару параметров (ep,n),
исследовать зависимость ошибки epsilon=
от (ep,n).
Результаты свести в таблицу (для
нескольких n и ep).
При малых значениях ep и больших n (n=20..40) найти решение системы (*)
в среднеквадратичной норме (help nnls),
с помощью псевдоинверсии (help pinv). Сравнить с решением, полученным при помощи обычной инверсии (help inv).
Деформировать матрицу A, отбросив последнюю строку. При этом матрица становится прямоугольной, система – недоопределенной, а её решение в обычном смысле – не существует. Однако по-прежнему существует решение в среднеквадратичной норме, которое можно найти командой nnls или \. Найдите это решение.
В отчет должны войти результаты заданий 6-9
