
- •Технология программирования итерационных циклов
- •Итерационные циклы с точным решением
- •Физические задачи
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Составление алгоритма решения
- •Программирование задачи
- •Итерационные циклы с приближенным решением
- •Задача вычисления произведений Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Задача о последовательном делении Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
- •Технология программирования смешанных процессов
- •Вычисление накоплений
- •Вычисление сумм в цикле
- •Суммы элементов одномерных массивов
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Суммы в вычислении полиномов
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Суммы в вычислении степенных рядов
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Вычисление произведений в цикле
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Вычисление разностей в цикле
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Вычисление частных в цикле
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Поиск экстремальных значений
- •Поиск наибольшего (глобального) значения
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Поиск наименьшего значения
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
-
Суммы в вычислении степенных рядов
Следующий типовой вариант накопления сумм – вычисление степенных рядов.
Степенные ряды (цепные дроби) нашли широкое применение в информатике для расчёта тригонометрических и других трансцендентных функций, т.е. решения задач, точное (аналитическое) решение которых невозможно или затруднено. При этом предлагается, используя численный метод разложения функции в степенной ряд (цепную дробь), просчитать приближённое значение этого ряда (дроби) по отношению к истинному (недостижимому) с заданной степенью точности:
Ввиду того, что на самом деле точное значение неизвестно, возникает необходимость в замене этого значения на реально возможное. Для наглядности рассмотрим математическую формулировку гипотетического ряда:
Цель – вычислить (собрать) ряд.
Собрать ряд – просчитать значение суммы составляющих его слагаемых при изменении i в истинном или заданном диапазоне.
Анализ представленного ряда, позволяет сделать вывод, что полная его сборка технически (до бесконечности) невозможна. Поэтому в качестве истинного значения предлагается использовать сумму n значений ряда
.
Тогда, приняв в качестве истинного значения сумму n элементов ряда, а приближённого – сумму (n – 1) элементов, формула определения степени точности примет вид:
,
или с точки зрения рассматриваемого степенного ряда:
.
Анализ полученного выражения приводит к выводу, что степень точности определяется последним из вычисленных элементов ряда
,
а методом решения должен быть итерационный вычислительный процесс с рекуррентным изменением параметра цикла yi.
Общая методика подготовки к итерационным вычислениям в математике хорошо известна:
-
определить сходимость ряда;
-
выбрать метод вычисления текущего значения элемента;
-
задаться требуемой точностью вычислений;
-
определить начальные условия (при необходимости).
Определение сходимости выполняется проверкой условия, что каждый последующий элемент ряда по модулю меньше предыдущего (|yn| < |yn-1|). В этом случае ряд сходится (задача имеет решение), в противном – ряд расходится и задача решения не имеет.
В математике разработаны специальные методы предварительной оценки сходимости ряда. В случаях, когда их использование затруднено, осуществляют отладочное решение задачи в течении нескольких циклов с анализом полученных промежуточных значений. Если в результате отладки выявляется тенденция к увеличению модуля текущего значения элемента, процесс относится к расходящемуся и вычисления следует прекратить, в противном случае (ряд сходится) решение продолжается до выполнения условия:
(
)
Например, анализ ряда
позволяет сделать вывод, что при значениях
z < 1 он сходится, в
противном случае ()
– расходится. Следовательно, решение
возможно, например, при значении z
= 0,65, причём уменьшение этого значения
увеличивает сходимость и наоборот.
Метод расчёта текущих значений элементов ряда выбирается из двух возможных:
-
прямое вычисление текущего значения элемента через текущее значение его индекса ( yn = f(n) );
-
вычисление по рекуррентному соотношению, т.е. аналитической зависимости между последующим и предыдущим элементами yn=f(yn-1).
В большинстве случаев возможно использование только одного из указанных методов, однако, для некоторых рядов (цепных дробей) можно выбирать любой из них.
Для рассматриваемого степенного ряда,
возможно использование как прямого
вычисления (z5 = z5),
так и рекуррентной зависимости ().
Параметр цикла, его начальное значение и закон изменения зависят от выбранного метода расчёта. При расчете напрямую параметром цикла будет индекс (показатель степени) i с начальным значением i = 1 и законом изменения i = i + 1.
При использовании рекуррентной
зависимости в качестве параметра цикла
необходимо взять текущее значение
элемента ряда zi
с начальным значением zi-1
= 1 и законом изменения
.
Проанализировав обе зависимости
желательно остановиться на первой
(прямой), как более простой.
Степень точности определяется с учётом требований конкретной задачи.
Для инженерных задач требуемая степень точности:
= 10 –4 10 –6
Она позволяет сформировать условие
повторения цикла, либо выхода из него.
В принципе, желательно использовать
несколько вариантов значений степени
точности, что позволит определить
работоспособность вычислительного
процесса. Для рассматриваемого примера
можно использовать значения
равные 0,01; 0,001; 0,0001.
Определение начальных условий осуществляется в соответствии с выбранным методом вычислений. Для рассматриваемого ряда одно из начальных условий универсально (Z = 0), а второе различно (i = 1 при расчёте напрямую, zi-1 = 1 при рекуррентном расчёте).
Технология вычисления степенных рядов (цепных дробей) представлена конкретной задачей (8.3).