ЭВМ_Семестр4_МетодПособие
.pdf[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