ПОИСК Статьи Рисунки Таблицы Описание алгоритма вычислений из "Программирование и вычислительные методы в химии и химической технологии" Метод интерполирования в данном случае можно отбросить сразу, так как, с одной стороны, он не очень точен, а с другой — таблица величин займет в памяти машины значительное место. Кроме того, может оказаться, что отыскать значение в таблице гораздо дольше, чем вновь провести вычисления. Не годится и полиномиальное представление, поскольку оно не может обеспечить высокую точность. В итоге оказывается, что для получения значения логарифма с девятью точными цифрами следует воспользоваться разложением по непрерывным дробям, поскольку при этом придется суммировать меньшее количество членов ряда по сравнению с разложением в ряд. Так, при х = 0,9 число членов при использовании разложения по непрерывным дробям равно 34, а при разложении в ряд — 143. [c.33] Еще более важное значение приобретает выбор метода численного анализа при решении задач оптимизации. Поиск оптимума функций многих переменных является обычно задачей крайне трудоемкой, поэтому эффективность использования различных методов зависит от класса функций и накладываемых ограничений [1]. [c.33] Некоторые методы эффективны при решении небольших задач, однако с увеличением числа переменных объем вычислений настолько возрастает, что приходится от них отказываться. Такого класса задачи обычно имеют место при решении систем алгебраических или дифференциальных уравнений, поиска оптимальных значений параметров многомерных функций. [c.33] Большинство численных методов являются итерационными. Это означает, что решение получается в виде предела некоторой последовательности приближений. Если эта последовательность некоторым образом стремится к пределу, то процесс называется сходящимся, если нет — то расходящимся. Итерационные методы весьма удобны при использовании вычислительных машин, поскольку последовательные приближения выполняются одними и теми же командами, но над различными числами, поэтому программы итерационных методов занимают малый объем в памяти машины. При использовании рекуррентных соотношений структура программ аналогична. [c.34] Бремя решения задачи итерационными методами определяется заданной точностью и выбором начального приближения. Чем ближе начальное приближение к истинному решению, тем быстрее оно будет достигнуто. Более того, от начального приближения зависит вообще возможность получения решения. [c.34] Прежде чем выбрать тот или иной численный метод, необходимо проанализировать ограничения, связанные с его использованием. Это проявляется в том, что функция или система уравнений подвергается аналитическому исследованию, в результате которого выясняется возможность использования данного метода. При этом весьма часто исходная функция или система уравнений должна быть соответствующим образом преобразована с тем, чтобы можно было эффективно применить численный метод. Преобразованием и введением новых функциональных зависимостей часто удается значительно упростить задачу. [c.34] Функция / (Г) есть мера отклонения суммы концентраций компонентов в паровой фазе от единицы и ее значение равно нулю в том случае, если Т = Гкип (рис. 4). Как видно из рисунка, / (Г) имеет один положительный корень. Для нахождения этого корня можно воспользоваться любым из методов решения уравнений с одним неизвестным. [c.35] После того как выбран метод решения задачи, необходимо составить четкое описание последовательности вычислительных и логических операций, приводящих к конечным результатам, т. е. составить алгоритм решения задачи. [c.36] Основными требованиями к форме записи алгоритма являются его наглядность, компактность и выразительность. В практике математического обеспечения вычислительных машин обычно используются два способа описания алгоритмов графический и операторный. [c.36] Графический способ основан на представлении отдельных элементов алгоритма графическими символами, а всего алгоритма — в виде блок-схемы. При этом набор графических символов может быть произвольным, важно, чтобы они позволяли детально представить описание алгоритма решения. В дальнейшем при составлении блок-схем будут использоваться приведенные на рис. 5 условные обозначения [3]. [c.36] Арифметический блок предназначен для схематического обозначения расчетов по формулам. Если при расчете используется последовательно несколько формул, то для упрощения блок-схемы алгоритма их можно объединить в один арифметический блок. [c.36] Индексный блок обычно используется в качестве счетчика при организации циклических вычислительных процессов, в которых на каждом цикле расчет ведется по одним и тем же формулам, но с различными числовыми данными. В индексном блоке происходит изменение значения переменной, называемой индексом, что позволяет на каждом цикле использовать в расчете соответствующим образом перенумерованные значения величин. [c.36] Переменная передача управления используется в том случае, когда в алгоритме предусматривается более чем два разветвления выбирается тот путь, для которого индекс у буквы справа совпадает с индексом у буквы слева. [c.37] Фиксированная передача управления предназначена для упрощения структуры блок-схемы сложных алгоритмов. Это символ позволяет исключить пересечения взаимосвязей отдельных элементов блок-схемы. [c.37] Блоки ввода и вывода предназначены для указания операций ввода исходной информации и вывода промежуточных и конечных результатов. [c.37] Останов используется для указания логического окончания алгоритма. [c.37] Из уравнения (2—5) следует, что при вычислении значений коэффициентов активности необходимо выполнять неоднократное суммирование величин, помеченных различными индексами. Операции суммирования в данном случае реализуются с помощью циклических процессов или циклов. [c.37] Сначала в индексном и арифметическом блоках индекс суммирования 7 и сумма 5 0) полагаются равными нулю. Верхний индекс у суммы показывает ее значение при текущем значении /. После входа в цикл в индексном блоке индекс / увеличивается на единицу и к прежнему значению суммы в арифметическом блоке прибавляется произведение Затем в логическом блоке проверяется условие, равно ли / номеру последнего компонента . Если / =ф= п, то цикл вычислений повторяется с увеличением на единицу значением /. При каждом повторении цикла текущее значение суммы увеличивается на величину произведения Эта последовательность действий будет повторяться до тех пор, пока индекс / не будет равен п. После этого 8 будет равно искомой сумме, и логический блок прервет выполнение цикла. [c.38] Полная схема-блок алгоритма расчета коэффициентов активности для всех компонентов по уравнению (2—5) приведена на рис. 7. [c.38] Для того чтобы можно было прочитать операторную запись алгоритма, каждый из операторов сопровождается пояснениями. Операторный способ используется в основном как язык программирования для конкретных вычислительных машин. Поэтому описания операторов составляются с учетом особенностей машины, вплоть до указания адресов отдельных операндов. В этом случае логическая структура программы вместе с описаниями операторов вводится в запоминающее устройство машины, машина по специальной программе расшифровывает операторы и записывает их в командах машины. [c.39] Вернуться к основной статье