Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие (MathCad).doc
Скачиваний:
95
Добавлен:
27.11.2019
Размер:
3.98 Mб
Скачать

3.4.5. Программная реализация модели на эвм

Существует много программных средств, позволяющих реализовать задачи математического, в частности имитационного моделирования (ИМ). Это и языки программирования различного уровня, и специализированные и универсальные программные средства. В качестве специализированных можно указать AutoCAD, MicroCap, WorkBench, и т.д. Большой интерес представляют пакеты для универсального моделирования. Они не ориентированы на конкретные устройства и системы и позволяют представить их модели в стандартной форме.

Языки программирования и специализированные программные средства используются обычно при решении небольшого числа серьезных задач моделирования. Имея максимальную скорость моделирования, они дают малое время собственно моделирования. Однако подготовка к нему оказывается крайне трудоемкой и дорогой. Поэтому часто предпочитают применять универсальные программные средства с малым временем подготовки задач.

Отметим следующие группы универсальных программных средств:

  1. Пакеты блочного моделирования, например Simulink в системе MATLAB.

  2. Пакеты физического моделирования, например 20SIM Pro.

  3. Универсальные математические пакеты Mathcad, Maple, Mathematica, MATLAB.

  4. Прочие, например статистический пакет GPSS.

Среди перечисленных пакетов наиболее простым в освоении и наиболее удобным с точки зрения пользовательского интерфейса представляется Mathcad. Хотя прямо он не ориентирован на задачи имитационного моделирования, они успешно решаются. В качестве примера возьмем нашу задачу.

Пример 3.5. Программная реализация математической модели «Бросок камня».

Будем использовать программную среду математического пакета Mathcad 2001i. Особенность его работы – максимальное приближение записи алгоритма решения к естественной математической форме. Разработчики системы стремились обеспечить решение большинства задач без использования программирования. Хотя возможно аналитическое решение некоторых задач моделирования, мы ограничимся численным решением.

Система Mathcad имеет несколько встроенных функций для решения систем ОДУ (rkadapt, Odesolve и др). При их использовании достаточно корректно записать условие задачи и вызвать соответствующую команду – см. рис. 3.1, на котором показано решение задачи на полет брошенного камня в условиях отсутствия сопротивления воздуха с помощью функции Odesolve.

Рис. 3.1. Программная реализация численного решения в среде

Mathcad задачи на полет камня без учета сопротивления воздуха

Как и следовало ожидать, траектория полета камня оказывается квадратичной параболой. Если пользователь желает глубже ознакомиться с реализацией численных методов моделирования, он может составить свою реализацию подходящего метода, например, Эйлера или Рунге-Кутта. Однако для этого ему придется освоить приемы программирования в системе Mathcad - они не очень сложны, но в наши задачи не входят.

3.4.6. Проверка адекватности модели

Необходимым требованием, которому должна отвечать каждая модель является адекватность – соответствие результатов, полученных при моделировании, данным эксперимента, теоретическим положениям или тестовым примерам. Ограничимся нашим примером.

Пример 3.6. Анализ адекватности модели «Бросок камня».

Результаты, полученные по приведенной выше модели, будут существенно отличаться от действительных. Особенно это будет заметно, если уменьшать вес камня, например, взяв вместо камня аналогичных размеров кусок пенопласта. Очевидно, это можно объяснить только грубым упрощением в принятой системе гипотез – пренебрежением сопротивления воздуха. Учет этого фактора требует изменения концептуальной модели и всех последующих этапов решения. А именно - требуется учитывать сопротивление воздуха.

Теперь уточним математическую модель. Сила сопротивления воздуха направлена против направления движения камня:

, , , .

Сопротивление воздуха зависит от скорости движения тела и может быть описано следующей эмпирической формулой

,

где A=0.1 Н·с/м, B=10-3 H·c33.

Поскольку нелинейные задачи в аналитическом виде чаще всего не решаются, выберем численный метод, который легко реализуется функциями Mathcad.