8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 96 97 98 99 100 101 102 ... 365

цедуры библиотеки UMFPACK. Внизу страницы расположены две гиперссылки для доступа к документации этих библиотек в Интернете.

В главе 15 рассматриваются особенности решения систем с разреженными матрицами.

Системы с плохо обусловленными матрицами

Рассмотрим простой пример: требуется найти решение следующей системы:

2х, +3*2+3*3=8; • 4*! + 2х2 + 3*з = 7; 6* +5*2 +6*з =7.

Введите матрицу и вектор из командной строки и примените обратную косую черту:

» А = [2 3 3

4 2 3

6 5 6],-» Ь = [8; 7; 7] ; » х = А\Ь

В командное окно выводится предупреждение о том, что матрица вырождена или плохо обусловлена, и затем полученное решение х:

Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND = 1.306145e-017.

x -

1.0e+016 * 0.9007 1.B014 -2.4019

Полученное решение неверно, в чем несложно убедиться проверкой, умножив А на х. Дело в том, что Аявляется вырожденной, ее определитель равен нулю. Для вычисления определителя предназначена встроенная функция det:

» det(А) ans =


Примечание Л

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

Знак обратной косой черты может быть применен для одновременного решения нескольких систем с одной и той же матрицей и разными правыми частями. Для этого из вектор-столбцов правых частей следует сформировать матрицу и поместить ее после знака обратной косой черты. Результатом является матрица, каждый столбец которой есть решение соответствующей системы линейных уравнений. В отличие от последовательного решения систем, такой подход существенно экономит время, поскольку разложение матрицы выполняется только один раз.

Однако "очень маленькое" значение определителя еще не означает, что при решении системы возникнут трудности. Например, система

I.O-10-40jc,+2.010"41 =1; 2.0-КГ41* 3.0- ИГ40 =2

решается точно, никаких сообщений не выводится, хотя определитель матрицы системы равен 2.96-10-80 (убедитесь в этом, решив систему и вычислив определитель!).

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

» cond(А) ans =

2.752бе+016

Число обусловленности матрицы второй системы равно 3.0808 и система решается правильно.


Переопределенные и недоопределечные системы

MATLAB позволяет решать системы с прямоугольными матрицами, так называемые переопределенные системы, в которых уравнений больше неизвестных, и недоопределенные системы с числом уравнений, меньшим числа неизвестных.

Переопределенные системы встречаются в задачах подбора нескольких параметров с целью удовлетворения соотношениям, число которых больше, чем число параметров.

Рассмотрим задачу о подборе параметров а и b некоторого физического закона

у = о-е" +bt

по результатам измерения величины у в моменты времени, приведенные в табл. 6.3.

Таблица 6.3. Результаты измерений физической величины

h

0

0.1

0.2

0.3

0.4

0.5

>i

4.25

3.95

3.64

3.41

3.21

3.04

Для нахождения параметров потребуем соответствия измерений физическому закону, т. е. выполнение шести равенств вида:

у,- =а-е" +bt(.

Эти равенства являются ни чем иным, как переопределенной системой из шести линейных алгебраических уравнений с двумя неизвестными а и b, матрица А и вектор правой части Y системы имеют вид

А =

Для нахождения неизвестных следует решить эту систему в MATLAB при помощи знака обратной косой черты. Напишите самостоятельно файл-функцию без параметров, решающую данную систему и строящую маркерами график исходных данных и линией график физического закона с полу-

е- /,

Y =

У2

Уб



0 ... 96 97 98 99 100 101 102 ... 365