Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ_Семестр4_МетодПособие

.pdf
Скачиваний:
25
Добавлен:
05.06.2015
Размер:
2.47 Mб
Скачать

[A] {

}

= {

} =

{

},

[A] {

}

= {

} =

{

},

и так далее.

На каждой итерации производится проверка условия окончания счѐта, которое имеет следующий вид

| - |< Ɛ. (3)

Это означает, что максимальная абсолютная величина из разностей всех соответствующих компонент последнего и предпоследнего векторов должна быть меньше заданной точности Ɛ. Если условие окончания счѐта (3) выполняется то итерационный процесс прекращается. В этом случае вектора { } и { } в пределах заданной погрешности совпадают и выражение (2) приближѐнно, в пределах заданной погрешности, совпадает с выражением (1), а это означает,

что можно считать, что наибольшее собственное значение λ =

, а

соответствующий ему собственный вектор равен вектору {

}.

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

Пример.

Используя метод итераций вычислить максимальное собственное значение и соответствующий вектор для заданной матрицы

[A]=

сточностью Ɛ=0,0001.

Задаѐм начальное, нулевое приближение нормированного векто-

ра

131

{}= .

Перемножаем матрицу [A] на вектор { } и производим нормировку полученного вектора. Получим

{ } =

= 13

.

Следовательно { } =

.

Для проверки условия окончания счѐта необходимо определить

максимальную разность компонент векторов {

} и { } т.е.

|

-

| =

| 1-0,5385

| =

0,4615

|

-

| =

| 1-1,0000

| = 0

|

-

| =

| 1-0,7692

| = 0,2318 .

Поскольку максимальная разность

|

-

|, то по ней прове-

ряется условие окончание счѐта, т.е.

 

 

 

|

-

| = | 1-0,5385

|= 0,4615 > 0,0001.

Видно, что условие окончания счѐта не выполняется, поэтому итерационный процесс продолжается.

На

следующем, втором приближении используется вектор

{ } =

. Результаты дальнейших вычислений приведены

в таблице.

Из таблицы видно, что на восьмой итерации условие окончания счѐта выполняется, и с заданной точностью можно считать, что λ=10,8733, а соответствующий собственный

132

вектор

{х}=

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т б

ц 11.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К

н н

в

 

К

н н

в

б

 

 

{y}

 

 

 

 

{x}

 

 

зн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

-

-

 

-

1

 

1

 

1

-

 

 

 

 

 

 

 

 

 

 

 

1

7,0000

13,0000

 

10,0000

0,5385

 

1,0000

 

0,7692

13

 

 

 

 

 

 

 

 

 

 

 

2

4,9231

11,3846

 

8,1538

0,4324

 

1,0000

 

0,7162

11,3846

 

 

 

 

 

 

 

 

 

 

 

3

4,4460

11,0135

 

7,7297

0,4037

 

1,0000

 

0,7018

11,0135

 

 

 

 

 

 

 

 

 

 

 

4

4,3166

10,9129

 

7,6147

0,3955

 

1,0000

 

0,6978

10,9129

 

 

 

 

 

 

 

 

 

 

 

5

4,2799

10,8844

 

7,5822

0,3932

 

1,0000

 

0,6966

10,8844

 

 

 

 

 

 

 

 

 

 

 

6

4,2695

10,8763

 

7,5729

0,3926

 

1,0000

 

0,6963

10,8763

 

 

 

 

 

 

 

 

 

 

 

7

4,2665

10,8739

 

7,5702

0,3924

 

1,0000

 

0,6962

10,8739

 

 

 

 

 

 

 

 

 

 

 

8

4,2656

10,8733

 

7,5694

0,3923

 

1,0000

 

0,6962

10,8733

 

 

 

 

 

 

 

 

 

 

 

 

Программа метода итераций

Ниже представлен образец программы метода итераций, написанной на языке программирования VBA для вычисления максимального собственного значения и соответствующего собственного вектора для заданной матрицы А размерностью 3х3, а также содержимое файла DanA.txt с исходной матрицей А и содержимое файла RezA.txt с результатами работы программы см. рис.11.1-11.6.

Рисунок 11.1- Файла DanA.txt с исходной матрицей А

133

Рисунок 11.2 - Программа метода итераций (начало)

134

Рисунок 11.3 - Продолжение программа метода итераций

135

Рисунок 11.4 - Продолжение программы метода итераций (конец)

Рисунок 11.5 – Подпрограмма Мах программы метода итераций

136

Рисунок 11.6 - Файла RezA.txt с результатами работы программы метода итераций

Реализация метода итераций в пакете MATLAB

Рассмотрим, как можно реализовать метод итераций в пакете

MATLAB см. рис. 7.7 и 7.8.

На рис. 7.7 показан ввод исходных данных, а именно ввод исходной матрицы А и единичного вектора Х0.

Далее на рис.7.8 представлен дальнейший ход метода итераций, а именно перемножение матрицы на вектор, нахождение максимальной по модулю компоненты полученного вектора и его нормировка.

137

Рисунок 11.7 - Ввод исходных данных для метода итераций в пакете MATLAB.

138

Рисунок 11.8 - Начальная итерация метода итераций в пакете

MATLAB.

Полученный вектор Х1 (см. Рис.11.8) должен использоваться в качестве следующего приближения и так далее пока не будет выполнено условие окончания счѐта.

139

Задания к лабораторной работе

1.Составить VBA программу для вычисления методом итераций максимального собственного значения и соответствующего собственного вектора для заданной матрицы А размерностью 3х3.

При составлении программы использовать образец программы, представленный на рис. 1 и 2. В программе организовать вывод результатов полученных на каждой итерации, оформить перемножение матрицы на вектор в виде отдельной подпрограммы, а также предусмотреть проверку полученных результатов.

2. С помощью пакета MATLAB методом итераций выполнить две итерации для вычисления максимального собственного значения и соответствующего собственного вектора для заданной матрицы А размерностью 3х3.

Варианты заданий

Для своего номера варианта вычислить компоненты заданной матрицы [A] по следующим зависимостям:

а

= -10

,

 

– 5,50*N +0,25*

а

=

,

 

– 0,132*N +0,006*

а

=

 

 

– 0,264*N +0,012*

а

=

,

 

– 3,30*N +0,15*

а

=

 

,

– 0,22*N +0,01*

а

=

,

 

– 3,30*N +0,15*

140