Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат.основы теории систем.pdf
Скачиваний:
80
Добавлен:
14.04.2015
Размер:
4.21 Mб
Скачать

единичная матрица.

Проиллюстрируем использование формулы (7.38) на примере

Ф.Р. Гантмахера для пседообращения прямоугольной матрицы

 

 

 

 

 

1

1

2

0

 

 

 

A =

 

 

2

3

 

(7.39)

 

 

1

1 .

 

 

 

 

0

1

1

 

 

 

 

 

 

1

 

Нетрудно видеть, что матрица (7.39) имеет линейно зависимые строки и столбцы, причем число линейно независимых строк и столбцов k = 2. Матрица A представима в форме

 

1 1

2 0

 

1

 

1

1 0

1

1

 

 

 

 

 

A =

 

 

 

 

 

 

 

= BC.

 

 

 

 

1 2

3 1

=

1

2

 

0 1

1 1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

0 1

1 1

 

0

 

 

 

 

 

 

 

 

 

 

Тогда для матричных компонентов формулы (7.39) получим

 

Отформатировано: Уровень 1

BT B = 2

3 ;(BT B)1 =

2

 

1 ;CCT =

3

0 ;(CCT )1

=

1 3

0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

3

6

 

 

1

2 3

 

0

3

 

 

1 3

Тогда, следуя формуле (7.36) получим

 

0

1 3

 

 

Отформатировано: Уровень 1

 

 

 

 

1 0

 

 

 

 

 

 

 

 

 

1 3

 

 

 

 

 

 

1

 

 

2

 

 

1 1

1 0

 

 

1 9

 

 

 

 

 

A

+

=

0 1

 

 

 

1 9

2 9

 

■(7.40)

 

3

 

 

 

 

 

 

 

 

 

=

2 9 1 9

1 9

.

 

 

 

 

1 1

1

 

 

2 3 1

2 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1

 

 

 

 

 

 

 

 

 

4 9 1 9

5 9

 

 

 

Четвертый

способ,

являющийся обобщением третьего способа,

основан на разбиении

 

(m ×n) матрицы A на матричные блоки так, что

она получает представление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

C

 

 

 

 

 

 

 

 

 

 

(7.41)

 

 

 

A =

 

F

,

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

B

 

 

 

 

 

 

 

 

 

 

в

 

котором

матрица

 

- неособая квадратная, и

такая, что

rang(B) = rang(A)

 

 

 

 

(n ×m)–матрица

A+ может

 

. Тогда псевдообратная

 

быть вычислена с помощью матричного выражения

 

 

 

 

A+ = CBTT (BBT + CCT )1B(BT B + DT D)1(BT DT ).

 

 

(7.42)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проиллюстрируем использование формулы (7.42) на примере Ф.Р. Гантмахера для пседообращения прямоугольной матрицы (7.39), которую в соответствии с (7.41) разобъем разобъём на матричные

блоки

 

 

 

 

 

1

1

 

2

0

B =

2

,C =

 

, D = [0 1], F = [1 1],

1

 

3

1

подстановка которых в подставляя которые в матричную формулу

(7.42) даст

получим

 

псевдообратную матрицу

(7.40).

 

 

 

106

Пятый способ псевдообращения (m ×n)- матрицы A основан на

использовании сингулярного разложения этой матрицы с помощью SVD–процедуры, позволяющего представить ее в виде

 

A =UΣV T ,

 

 

 

 

 

 

 

 

(7.43)

где U,V – матрицы соответственно левого и правого сингулярных

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

при

m < n

 

 

 

 

 

 

 

 

 

 

 

 

Σ = [diag(αi;i =

 

)

 

0m×(nm)],

(7.44)

 

1,m

 

при

m > n

 

 

 

 

 

 

 

 

 

 

 

 

diag(αi;i =

 

)

 

 

 

 

 

1,n

 

 

 

(7.45)

 

Σ =

0(mn)×m

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(m ×n)-

 

 

A позволяет для

 

Представление

(7.43)

 

матрицы

 

 

псевдообратной (n ×m)–матрицы A+ записать

 

 

A+ =VΣ+UT ,

 

 

 

 

 

 

 

 

(7.46)

где где псевдообратная матрица сингулярных чисел Σ+ принимает вид:

при

m < n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.47)

 

 

 

 

 

 

Σ+ = diag((αi )

;i =1,m),

 

 

0(nm)×m

 

 

 

 

при

 

 

 

 

 

 

 

 

m > n

 

 

 

 

 

 

 

 

Σ+ = [diag((αi )1;i =

 

) 0n×(mn)].

(7.48)

 

1,n

Следует сказать, что псевдообращение в пакете Matlab всех версий осуществляется с помощью оператора pinv(*), который построен на базе сингулярного разложения псевдообращаемой (m ×n)-

матрицы A.

Проиллюстрируем использование формулы (7.46) на примере для пседообращения прямоугольной матрицы

 

1

2

3

4

 

 

 

A =

 

6

7

8

 

,

(7.49)

5

 

 

 

10

11

 

 

 

 

 

9

12

 

 

которая характеризуется свойством m > n . Сингуляроное разложение дает для матрицы A (7.49) дает

A =UΣV T =

 

1

2

3

4

 

 

0.207

0.889

0.408

 

 

25.437

0

0

0

 

=

 

6

7

8

 

=

 

- 0.518

0.254

 

 

×

 

0

1.723

0

 

×

5

 

 

- 0.817

 

0

 

9

10

11

12

 

0.830

0.380

0.408

 

 

 

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: русский

Отформатировано: русский

Отформатировано: русский Отформатировано: русский

107

 

0.404

 

- 0.465

- 0.526 0.587

 

 

 

 

 

 

 

 

 

 

- 0.290

0.153

0.596

 

 

 

 

 

 

 

0.733

 

 

 

 

 

 

 

×

 

0.412

 

- 0.818

0.401

0.006

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.361

 

- 0.174

- 0.735

0.548

 

 

 

 

 

 

Тогда псевдообратная матрица (7.46) получит представление

 

 

Отформатировано: Уровень 1

 

 

 

 

 

0.404

0.733

0.412

 

0.361

(25.437)1

0

0

 

 

A

+

+ T

 

0.465

0.290

0.818

 

0.174

 

0

(1.723)1

0

×

 

 

=VΣ

U

=

 

 

 

 

 

×

 

 

 

 

 

 

 

 

 

 

 

0.153

0.401

 

 

 

0

0

 

 

 

 

 

 

 

 

0.526

 

0.735

 

0

 

 

 

 

 

 

 

0.587

0.596

0.006

 

0.548

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.207

0.518

0.830

- 0.375

0.100

0.175

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

×

 

0.889

0.254

0.380

= 0.146

0.033

0.017 .

 

 

 

 

 

 

 

 

 

 

 

0.083

0.083

0.017

 

 

 

 

 

 

 

 

0.408

0.817

0.408

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.100

 

 

 

 

 

 

 

 

 

 

 

 

 

0.312

0.112

 

 

Шестой

способ псевдообращения

(m ×n)-

 

матрицы

A основан

на

 

использовании возможностей метода регуляризации А.Н. Тихонова. Суть шестого способа состоит в сведении процедуры псевдообращения (m ×n)- матрицы A к процедуре обращения квадратной матрицы,

параметризованной регуляризирующей константной δ, с последующим предельным переходом обратной регуляризованной матрицы, элементы которой зависят от константы δ , к псевдообратной при δ 0. Аналитически это записывается в форме

 

 

 

(AT A + δI )1 AT = lim AT (AAT + δI )1.

 

A+ = lim

(7.50)

 

δ→0

δ→0

 

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

Тем не менее, проиллюстрируем способ на простом примере. Псевдообратим (m ×n)- матрицу A в виде матрицы–строки

A = [1 2 3].

(7.51)

Тогда следуя формуле (7.50), получим

Отформатировано: Уровень 1

108

A+ = lim(AT A + δI )1 AT = lim

 

1

 

 

 

 

 

 

 

 

 

 

1 1

 

 

 

 

 

 

 

 

 

 

 

 

2

[1

 

2

3]

+ δI

2

=

 

 

 

 

 

 

 

 

 

 

 

δ→0

 

 

 

 

 

 

 

 

 

 

 

δ→0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

δ +13

 

2

 

 

 

 

 

3

1

 

 

 

 

 

 

 

 

δ

 

0.714

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= lim

 

 

 

 

 

 

2

 

 

δ+10

 

6

 

2

= lim

 

 

 

 

2δ

= 0.1429 .

 

 

 

 

 

 

 

 

 

 

δ(14 + δ)

 

 

 

 

δ→0

δ(14 + δ)

3

 

 

 

6

 

 

 

 

 

δ+

5

3

 

δ→0

3δ

0.2143

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Седьмой способ псевдообращения

(m ×n)-

 

матрицы

A основан на

 

 

 

рекуррентной процедуре Гревиля. Суть метода состоит в следующем.

 

 

 

Запишем

 

 

(m ×n)

-

 

 

 

 

 

матрицу

 

 

 

A

 

в

столбцовой

форме

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A = [A1

A2

An

]. Сформируем матрицу Ak из первых k столбцов

 

матрицы A так, что A1 = A1, A2 = [A1

 

A2 ], An = A. Тогда оказывается

 

справедливой рекуррентная процедура:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k =1 (A1)+ = A+ = A1T

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: русский

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. при

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.52)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AT A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примечание

7.10(П7.10).

1

 

 

1

 

 

 

в

(7.52)

A1 = A1

= 0 ,

то

 

и

полужирный

 

 

Если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: Шрифт: не

(A1)+ = A+ = 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.53)

Отформатировано: Отступ: Первая

 

 

 

1

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= (A(k

 

 

 

 

 

 

строка: 0 см

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. 2. при k >1

 

 

 

+

=

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

+

A ,

b -

Отформатировано: Шрифт: 14 пт,

 

(Ak)

 

 

 

 

k

 

, B = (A(k 1)) d b , d

 

1))

Цвет шрифта: Черный, ниже на 6 пт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

k

 

 

 

 

 

 

 

 

 

 

k

k

k

 

 

 

 

k

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

(Ak)+.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: русский

последняя строка матрицы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.54)

 

 

 

 

Код поля изменен

3. Примечание 7.11(П7.11). В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рекуррентной процедуре (7.54),

 

 

 

 

Цвет шрифта: Черный, английский

если A (A(k 1))d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= (1+ dT d

 

)1dT

(A(k 1))+,

 

 

 

 

 

 

Отформатировано: Шрифт: 14 пт,

k

= 0, то b

 

 

 

 

(7.55)

(США), ниже на 6 пт

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

k

 

k

k

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: Шрифт: не

если Ak (A(k 1))dk

0, то bk

 

= (Ak A(k 1)dk )+.

 

 

 

 

 

(7.56)

полужирный

 

 

Проиллюстрируем

 

 

 

 

 

 

алгоритм

 

 

Гревиля

 

на

 

примере

Отформатировано: Шрифт: не

 

 

 

 

 

 

 

 

 

 

 

 

полужирный

пседообращения прямоугольной матрицы

 

 

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: Шрифт: не

 

 

 

 

1

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

полужирный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: Шрифт: не

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

полужирный

 

 

A =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: русский

 

 

 

 

2

 

 

3

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда, используя (7.52), (7.54) получим

 

 

 

 

 

 

 

 

 

 

 

Отформатировано: Уровень 1

1. k =1 (A1)+ =

A+

=

 

 

 

A1T

 

=

 

1 [1 1 2 0]= [1 6 1 6 1 3 0];

 

 

 

 

 

 

AT A

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. k = 2; d

2

= A+ A = −3 2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверка условий (7.55)–(7.56), выполняется условие (7.56), тогда

109