Детерминированные циклические вычислительные процессы с управлением по аргументу
Детерминированные ЦВП с управлением по аргументу используются преимущественно в следующих задачах:
· для построения графика функции y = f(x) в заданном диапазоне изменения аргумента xнач <= x <= xкон с известным шагом hx;
· для вычисления определённого интеграла по одному из численных методов (прямоугольника, трапеции, параболы);
· для численного интегрирования дифференциальных уравнений по методу Эйлера или Рунге-Кутта и т.п.
Во всех перечисленных задачах аргумент функции изменяется в заданном диапазоне с определённым шагом по следующей рекуррентной зависимости:
xi = xi-1 + hx.
Эту зависимость целесообразно использовать для организации циклического вычислительного процесса. Количество циклов в этих задачах известно-детерминировано и определяется одним из выражений:
n = (xкон-xнач)/hx+1 или n = (xкон-xнач)/hx,
то есть количество циклов зависит от постановки задачи и определяется её исходными данными.
В качестве примера разработаем структурную схему для расчета диаграммы направленности рупорной антенны в вертикальной плоскости
y = f(Q) = (1 + sinQ) · cos(π·a/λ·cosQ)/((π/2)2 – (π·a/λ·cosQ)2),
изменяя угол Q в диапазоне 0o ≤ Q ≤ 90 o с шагом hQ = 5o при значениях a = 13,5 см; λ= 3 см.
Для организации циклического вычислительного процесса в качестве параметра выберем аргумент функции, изменяющейся по следующей рекуррентной зависимости:
Qi = Qi-1 + hQ.
Структурная схема рассматриваемого детерминированного цикла с управлением по аргументу приведена на рис.2.
Рис. 2
На схеме знак := характеризует операцию присваивания.
Например, запись x:=B означает, что переменной x присваивается вычисленное значение выражения B.
Блок 2 происходит подготовка вычислительного процесса к циклу, т.е. параметру цикла Q присваивается его начальное значение. Этот блок называется блоком задания начальных значений или блоком начальной установки (БНУ). Он позволяет производить повторный расчет задачи в случае сбоя в машине и произвести многократный расчёт по одной и той же программе с различными начальными данными.
Блок 3 представляет собой рабочую часть цикла (РЧЦ). В нём рассчитывается очередное значение исследуемой функции y = f(Q), соответствующей текущему значению аргумента Q.
Блок 4 выводятся на печать (ПЧ) текущие значения аргумента Q и функции y.
Блок 5 называется блоком изменения параметра цикла (ИПЦ). В нём текущее значение аргумента изменяется на величину шага по рекуррентной формуле для Qi.
Блок 6 является блоком проверки логического условия (ПЛУ).
По условию задачи расчёт необходимо продолжать по ветви да до тех пор, пока выполняется неравенство Qi<= Qкон. При невыполнении этого неравенства вычислительный процесс переходит на ветвь нет.
Блок 7 является блоком окончания вычислительного процесса.
Замечание 1. Порядок расположения блоков 3 - 6 в рассмотрённом циклическом вычислительном процессе определяется постановкой решаемой задачи. Например, при вычислении определённого интеграла по одной из приближенных формул с фиксированным шагом после блока ПЛУ производится досчёт по формуле, т. е. следует вычислительный блок, а уже затем блок печати.
Замечание 2. С целью сокращения времени вычисления из рабочей части цикла следует исключить и рассчитывать перед циклом фрагменты формулы, независящие от параметра цикла.
Замечание 3. Учитывая, что выбранное значение шага не всегда обеспечивает целое количество циклов в заданном диапазоне изменения аргумента, то с целью получения детерминированного количества циклов n конечное значение параметра цикла заранее можно увеличить на некоторую величину, например, на h/2. Это можно выполнять в блоке задания начальных значений. При этом в блоке ПЛУ будет проверяться неравенство Q < Qкон.
Замечание 4. Если рассчитываемая функция представляет собой сумму или произведение: то её необходимо вычислять по одной из рекуррентных формул:
Ci = Ci-1 + f(xi); Pi = Pi-1 f(xi),
при этом в блоке задания начальных значений кроме аргумента x:= xнач первоначальное значение суммы следует задать С0:= 0, а первоначальное значение произведения принять Р0: =1.
<== предыдущая лекция | | | следующая лекция ==> |
Системи лінійних алгебраїчних рівнянь | | | Концепция культуры З. Фрейда |
Дата добавления: 2016-11-02; просмотров: 1231;