Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика Учебник НГТУ Семестр 2.docx
Скачиваний:
87
Добавлен:
27.03.2015
Размер:
4.01 Mб
Скачать

28.1. Вычисление конечных и бесконечных сумм и произведений

27.0. Введение

28.2. Решение уравнений итерационными методами

Для расчета суммы (гдеCk - некоторое слагаемое, зависящее от индекса суммирования k) рационально использовать цикл по переменной – индексу суммирования. Блок схема алгоритма представлена на рис. 28.1 а.

На том же рисунке представлена блок-схема расчета произведения , гдеCk - сомножитель, зависящий от индекса суммирования k.

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

Вычисление бесконечных сумм возможно только для сходящихся рядов, например, . С ростомk каждое слагаемое должно уменьшаться и сумма стремиться к определенному значению. Цикл суммирования можно прекратить, когда очередное слагаемое по абсолютной величине станет меньше заданной величины . Так как в этом случае обычно нельзя заранее вычислить число повторений, следует использовать цикл с предусловием или цикл с послеусловием. Их блок-схемы приведены на рис. 28.2.

Перед началом циклов выполняются начальные установки: счетчик циклов k – индекс суммирования и переменная S, накапливающая сумму, обнуляются. В теле цикла сначала индекс суммирования увеличивается на единицу, а затем вычисляется слагаемое и накапливается сумма. Условием повторения цикла является | Ck| ≥ ε. Перед началом цикла с предусловием переменной Ck - слагаемому, значение которого вычисляется в теле цикла, необходимо присвоить такое начальное значение, чтобы условие повторения цикла выполнялось. В цикле с послеусловием этого не требуется.

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

27.0. Введение

28.2. Решение уравнений итерационными методами

28.2. Решение уравнений итерационными методами

28.1. Вычисление конечных и бесконечных сумм и...

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

Циклы с пред- и послеусловием используются при решении уравнений вида F(x) = 0 итерационными методами. Левая часть уравнения F(x) предполагается такой, что аналитическое решение получить невозможно. Численные итерационные методы позволяют получить решение методом последовательных приближений – итераций, на каждой из которых находится новое, уточненное решение. Задав нулевое приближение корня x0, по некоторой итерационной формуле вычисляется приближение x1.По нему, используя ту же итерационную формулу вычисляется x2, затем – x3 и так далее. Итерации останавливаются, когда разница между двумя последними найденными значениями станет по абсолютной величине меньше заданной погрешности ε: | xk – xk-1 | < ε. Последнее значение xk принимается за искомое решение.

Метод простых итераций требует преобразования уравнения F(x) = 0 к виду x = f(x). Из этого вида следует итерационная формула:

xk = f(xk-1),

где k = 1, 2, 3, … - индекс итерации. Метод простых итераций обеспечивает сходимость вычислений к корню, если на интервале итераций выполняется условие .

Блок-схема метода простых итераций на основе цикла с послеусловием приведена на рис. 28.3. Итерационная формула разбивается на три части, сначала на итерации по входящему в нее значению x вычисляется новое приближение корня xk, затем - разность dx = xk – x, а далее выполняется переприсвоение x = xk для выполнения новой итерации. Разность dx используется для проверки условия повторения итераций.

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

,

где F'(x) - производная левой части уравнения. Метод обеспечивает быструю сходимость итераций, если на их интервале первая и вторая производные левой части уравнения не изменяют знаки. Его блок-схема представлена на рис. 28.4. Алгоритм реализован на основе цикла с послеусловием, хотя может быть использован и цикл с предусловием. Тело цикла реализует итерационную формулу и не требует пояснений. Логическое выражение при завершении цикла состоит из двух условий, соединенных по ИЛИ. Цикл повторяется, если приращение неизвестной больше или равно погрешности εx, или левая часть уравнения по абсолютной величине больше или равна погрешности εf. Использование двух погрешностей позволяет, кроме нахождения корня с заданной погрешностью, добиться и малой невязки левой части уравнения с нулем.

28.1. Вычисление конечных и бесконечных сумм и...

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