ПОИСК Статьи Рисунки Таблицы Алгоритмизация математических моделей из "Методы кибернетики в химии и химической технологии" После составления математического описания и выбора соответствующих начальных и граничных условий необходимо провести второй этап моделирования —довести задачу до логического конца1 т. е. выбрать метод решения и составить программу (алгоритм). [c.42] Хотя этот этап и трудоемок, но он в большей степени, чем любой другой, поддается формализации и расчету на ЭВМ с развитым математическим обеспечением для ряда типовых задач он может выполняться автоматически. [c.42] В простейших случаях, когда возможно аналитическое решение системы уравнений математического описания, необходимость в специальной разработке моделирующего алгоритма, естественно, отпадает, так как вся информация может быть получена из соответствующих аналитических решений. Когда математическое описание представляет собой сложную систему конечных и дифференциальных уравнений, от возможности построения достаточно эффективного моделирующего алгоритма может существенно зависеть практическая применимость математической модели. В особенности это важно при использовании модели для решения задач, в которые она входит в качестве составной части более общего алгоритма, например, алгоритма оптимизации. Как правило, в таких случаях для реализации математической модели приходится применять средства вычислительной техники фактически без них нельзя ставить и решать сколько-нибудь сложные задачи математического моделирования и тем более задачи оптимизации, при решении которых расчеты по уравнениям математического описания обычно многократно повторяются. [c.42] Широко развитые в настоящее время методы численного анализа позволяют решать широкий круг задач математического моделирования. [c.42] Выбор численного метода [2]. При выборе метода для решения уравнений математического описания обычно ставится задача обеспечения максимального быстродействия при минимуме занимаемой программой памяти. Естественно, при этом должна обеспечиваться заданная точность решения. [c.42] Большинство методов является итерационными. Это означает, что решение представляет собой предел некоторой последовательности приближений. Если эта последовательность некоторым образом стремится к пределу, то процесс называется сходящимся, если нет — расходящимся. [c.42] Использование итерационных методов отвечает требованию минимизации занимаемой памяти ЭВМ, так как последовательные приближения выполняются по одним и тем же формулам, но с различными цифровыми данными. Аналогичный порядок вычислений используется и при применевгаи рекуррентных соотношений. [c.42] Чтобы воспользоваться формулой, необходимо задаться начальным приближением То и точностью решения е. Вычисления производятся в соответствии с формулой (11,26). Для этого на каждой итерации вычисляются значения (Г ) и (Т1) и проверяется условие [ДГ,)// ( ) 1 Если оно не выполняется, то полученное значение Г,+1 подставляется в правую часть выражения (11,26) и расчеты повторяются. [c.43] Сложнее обстоит с быстродействием итерационных методов. Во-первых, сходимость метода обесценивается при выполнении условий, определенных для каждого отдельного метода. Например, при решении уравнения f(Г)=0 по формуле (11,26) процесс будет сходящимся, если / (Гг) 1. Во-вторых, число итераций, которое необходимо выполнить для получения решения, зависит от начального приближения и требуемой точности. Чем ближе начальное приближение к истинному решению, тем быстрее оно будет достигнуто. Более того, от начального приближения зависит принципиальная возможность получения решения. В связи с этим одной из сложных проблем, возникающих при использовании итерационных методов, является обеспечение сходимости решения в широком диапазоне изменения начальных условий и параметров процесса. Решению этой проблемы уделяется основное внимание при разработке универсальных моделирующих алгоритмов. [c.43] Прежде чем выбрать тот или иной численный метод, необходимо проанализировать ограничения, связанные с его использованием, например подвергнуть функцию или систему уравнений аналитическому исследованию, в результате которого выявится возможность использования данного метода. При этом весьма часто исходная функция или система уравнений должна быть соответствующим образом преобразована с тем, чтобы можно было эффективно применить численный метод. Преобразованием или введением новых функциональных зависимостей часто удается значительно упростить задачу. Такое упрощение преобразованием иллюстрирует приведенный выше пример. [c.43] Цифровая вычислительная машина (ЦВМ) оперирует числовыми данными конечной длины, такими, как полуслово, слово, двойное слово. Число, выходящее за пределы отведенной для него длины, округляется. Округление производится и при выполнении арифметических операций. Тем самым в процессе вычислений неизбежно вносится погрешность, обусловленная округлением. Насколько это существенно, рассмотрим. на следующем примере. [c.44] Отсюда Х2=0,666. или после округления 0,667. Обратная подстановка дает нам а 1 = 0,000. [c.44] Отсюда следует, что, во-первых, погрешности округления могут привести к совершенно неверному результату, а во-вторых, что их влияние можно свести к минимуму при соответствующей организации последовательности вычислений. [c.44] Составление алгоритма решения. После выбора численного метода желательно составить четкое описание последовательности вычислительных и логических действий, обеспечивающих решение, т. е. составить алгоритм решения задачи. [c.44] Основными требованиями к форме и содержанию записи алгоритма являются его наглядность, компактность и выразительность. В практике математического обеспечения вычислительных машин широкое распространение получил графический способ описания алгоритмов. [c.44] Этот способ основан на представлении отдельных элементов алгоритма графическими символами, а всего алгоритма — в виде блок-схемы. При этом набор графических символов не является произвольным, он регламентирован технической документацией по математическому обеспечению ЭВМ и соответствующими ГОСТами. Основные графические символы, рекомендуемые при составлении блок-схем, приведены на рис. П-1. [c.45] На блок-схемах внутри графических символов записываются словесно или символьно производимые действия. Если необходимы более подробные разъяснения относительно выполняемых действий, то можно воспользоваться символами комментарий, аннотация . [c.45] Степень детализации блок-схемы алгоритма зависит от его сложности, математического обеспечения ЭВМ и степени использования стандартных алгоритмов. Если, например, в программе применяется подпрограмма из библиотеки, то ее, очевидно, нет необходимости детализировать, а достаточно лищь указать основные характеристики (наименование, список параметров и т. д.) и сопроводить ссылкой на первоисточник. [c.45] Каждая ЭВМ имеет собственный язык — систему команд. Машина может выполнять программы, записанные только на этом языке. Однако применение его для составления программ связано с большими затратами труда программиста вследствие чрезмерной детализации программы, поскольку каждая команда предназначена для выполнения одной элементарной операции типа сложение, умножение и т. п. Поэтому для составления пакетов прикладных программ на современных вычислительных машинах используются более развитые языки программирования. Их применение позволяет получать более простую запись алгоритма, чем запись на машинном языке, и возложить обязанности по составлению программы в командах на саму машину. [c.46] Чтобы ЭВМ могла воспринять программу, записанную на символическом языке, используется программа-посредник, называемая транслятором. В соответствии с правилами построения языка она преобразует символическую программу в последовательность команд машины, т. е. программу, готовую к исполнению. [c.46] Вернуться к основной статье