Как найти число итераций

Итерационные
методы решения систем линейных

алгебраических
уравнений

Метод простых
итераций

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

– приближенно заданного решения системы
.
Верхним индексом в скобках здесь и далее
по тексту обозначается номер итерации
(совокупности повторяющихся действий).

Суть простейшего
итерационного метода – метода простых
итераций, состоит в выполнении следующих
процедур.

1. Исходная система

преобразуется к равносильному виду:

,
(2.1)

где

– квадратная матрица,

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

была меньше единицы, то есть
,
где

или
.

2. Вектор

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

и далее многократно выполняются действия
по уточнению решения согласно рекуррентному
соотношению

,

(2.2)

или в развернутом
виде

3. Итерации
прерываются при выполнении условия

,
(2.3)

где

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

.
(2.4)

Замечания.

1) Процесс (2.2)
называется параллельным
итерированием
,
так как для вычисления
-го
приближения всех неизвестных учитываются
вычисленные ранее их

приближения.

2) Начальное
приближение

может выбираться произвольно или из
некоторых соображений. При этом может
использоваться априорная информация
о решении или просто «грубая» прикидка.

Теорема 2.1.
(достаточное
условие сходимости метода простых
итераций). Метод простых итераций,
реализующийся в процессе последовательных
приближений (2.2), сходится к единственному
решению исходной системы


при любом
начальном приближении


со скоростью не медленнее геометрической
прогрессии, если норма матрицы

меньше единицы, то есть
.

Замечания.

1) Условие теоремы
2.1, как достаточное, предъявляет завышенные
требования к матрице
,
и поэтому иногда сходимость будет, если
даже
.

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

3) Условия сходимости
выполняются, если в матрице

преобладают диагональные элементы, то
есть

,
,
(2.5)

и хотя бы для одного

неравенство строгое. Иначе, модули
диагональных коэффициентов в каждом
уравнении системы больше суммы модулей
недиагональных коэффициентов (свободные
члены не рассматриваются).

4) Чем меньше
величина нормы
,
тем быстрее сходимость метода.

5) Из неравенства
(2.3) еще до начала расчета можно получить
число итераций
,
требуемых для достижения заданной
точности:

,
(2.6)

где норма вектора

определяется следующим образом:

или
.

Преобразование
системы

к виду

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

1. Уравнения,
входящие в систему
,
переставляются так, чтобы выполнялось
условие (2.5) преобладания диагональных
элементов. Затем первое уравнение
разрешается относительно
,
второе – относительно

и т.д. При этом получается матрица

с нулевыми диагональными элементами.

Пример 1. Система

с помощью перестановки
уравнений приводится к виду

где
,
,
,
то есть диагональные элементы преобладают.

Выражая

из первого уравнения,

– из второго,

– из третьего, получим систему

где
,
.

Заметим, что
,
то есть условие теоремы 2.1. выполнено.

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

не обязательно равнялись нулю.

Пример 2.
Систему

можно записать в
форме

для которой
.

Пример 3.
Методом простых итераций с точностью

решить систему линейных алгебраических
уравнений

Предварительно
определить число итераций.

Решение.

Так как
,
,
,
условие (2.5) не выполняется. Переставим
уравнения местами так, чтобы выполнялось
условие преобладания диагональных
элементов:

Получим
,
,
.
Выразим из первого уравнения
,
из второго
,
из третьего
:


,
.

Заметим, что
,

,

следовательно,
условие сходимости выполнено.

По формуле (2.6)
вычислим число итераций, обеспечивающих
заданную точность:

;
.

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

Зададим
.
В поставленной задаче
.

Выполним расчеты
по формуле (2.2):

,
,

или


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

Таблица 2.1

0

1,2000

1,3000

1,4000

1

0,9300

0,9200

0,9000

0,5

2

1,0180

1,0240

1,0300

0,13

3

0,9946

0,9934

0,9916

0,0384

4

1,0015

1,0020

1,0024

0,0108

5

0,9996

0,9995

0,9993

0,0027<

Таким образом,
приближенное решение задачи:

.

Очевидно, точное
решение:
.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

kostyamega8

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

for(int i=0; i < N-1; i++) {
for(int j=0; j < N-i-1; j++) {
}
}


  • Вопрос задан

    более трёх лет назад

  • 5906 просмотров

Определяете целочисленную переменную перед внешним циклом, делаете ей ++ во внутреннем:

int iteration_count = 0;

for (int i = 0; i < N - 1; i++) {
    for (int j = 0; j < N - i - 1; j++) {
        iteration_count++;
    }
}

System.out.println(iteration_count);

Если надо суммарное количество итераций обоих циклов — тогда и во внешнем тоже ++.

Пригласить эксперта


  • Показать ещё
    Загружается…

26 мая 2023, в 00:25

500 руб./за проект

26 мая 2023, в 00:11

3000 руб./за проект

26 мая 2023, в 00:08

2500 руб./за проект

Минуточку внимания

Подскажите как найти количество итераций при наихудшем сценарии бинарного поиска. Если я правильно понимаю, то log(n):

log(8) = 3

т.е. в массиве из 8 (=степень двойки) эл-в понадобится максимум 3 итерации.
Если длина 5, 6, или 7, например, то сколько тогда максимально итераций?

  • алгоритм

Kromster's user avatar

Kromster

13.5k12 золотых знаков43 серебряных знака72 бронзовых знака

задан 21 мая 2019 в 9:13

Кальций Йод's user avatar

Кальций ЙодКальций Йод

451 серебряный знак6 бронзовых знаков

4

  • Ну как бы очевидно — RoundUp(LOG(N)). Вот только в наихудшем случае (когда неизвестно точно, присутствует ли элемент в списке) для 8 элементов потребуется 4 сравнения…

    21 мая 2019 в 9:19

  • количество итераций будет равно логарифму n по основанию двух, в массивах от 4 до 7 включительно будет две итерации

    21 мая 2019 в 9:19

  • другими словами, делите ваше N на 2 до тех пор, пока не останется один элемент — так и узнаете количество итераций.

    21 мая 2019 в 13:34

  • Если под наихудшим сценарием рассматривать наихудшую реализацию, то… :)

    21 мая 2019 в 16:06

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти игрока для фортнайт
  • Skyrim деркитус как найти
  • Как найти двемерский механизм
  • Как найти точку восстановления для виндовс 10
  • Как исправить пустой тег

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии