Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
173
Добавлен:
30.03.2015
Размер:
1.56 Mб
Скачать

2.4. Построение компьютерной модели

Итак, математическая модель построена, и теперь нужно написать реализующую ее программу.

На исторически ранних этапах компьютерного моделирования эти программы создавались либо на языках программирования «высокого уровня» (Фортране, Алголе), либо даже на языке Ассемблера. Код на Ассемблере давал иногда очень серьезный выигрыш в быстродействии. ЭВМ того периода выполняли всего лишь десятки и сотни тысяч операций в секунду, а не сотни миллионов, как современные настольные компьютеры, поэтому стоило бороться за оптимальное выполнение каждой «машинной» команды. Традиционным языком программирования для построения компьютерных моделей являлся все же Фортран. Практически все стандартные библиотеки численных методов и функций, составлявшие основу всех моделей, и по сей день пишутся на Фортране. Применявшаяся в те годы технология программирования требовала на создание моделей очень много времени.

Начиная с 1960-х гг. было разработано множество систем или пакетов моделирования, автоматизирующих прежде всего этот этап. В системе автоматизации моделирования (далее просто «система моделирования») математическая модель записывается на некотором формальном входном языке моделирования и затем автоматически, с помощью соответствующего транслятора, переводится на язык, понятный компьютеру. Часто в качестве промежуточного используется какой-нибудь универсальный язык программирования (Fortran, Algol, C, Pascal, Java и др.). В этом случае трансляция производится в два этапа: на первом этапе описание на языке моделирования транслируется в промежуточный текст на языке программирования, а на втором этапе этот текст компилируется каким-либо компилятором языка программирования, написанным для конкретной операционной системы и компьютера. В моделирующую программу помимо сгенерированного кода, необходимого для реализации конкретной модели, автоматически включают уже готовые модули поддержки периода исполнения, предоставляемые системой моделирования (механизм продвижения модельного времени, численные библиотеки, графические функции). Система моделирования должна также автоматически переводить входные данные модели, записанные в форме, удобной для анализа человеком, в машинную форму представления и аналогичную операцию производить над выходными данными в машинной форме. Иными словами, интерпретировать входные и выходные данные, чтобы облегчить работу проектировщику.

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

Перевод исходного описания на язык моделирования осуществляется доста­точно просто. Современные системы имеют дружественный графический интерфейс и входной язык, очень близкий к «традиционному математическому». Например, в пакете Model Vision Studium для того, чтобы создать описание модели маятника на языке MVL по исходному математическому, нужно дополнительно объявить используемые переменные, задать необходимые начальные значения и практически в неизмененном виде переписать имеющиеся уравнения движения. Пользователям пакета Simulink придется выполнить больше дополнительной работы и «собрать» эти уравнения из стандартных звеньев, таких как «интегратор», «сумматор» и «усилитель». В результате, какое бы описание мы не использовали, пакетом автоматически создается моделирующая программа, соответствующая введенной математической модели, и, надо отметить, что в большинстве случаев это делается без ошибок.

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

Соседние файлы в папке Моделирование систем, ЗА, 9 сем