Пример 4. 68 команда integrate

INCLUDE "A:\prira_l.txt"

В этом примере указан полный путь к подключаемому файлу который находится на дискете в дисководе А.

Система GPSS World работает только с файлами имеющими расширение «.txt». В этих файлах может нахо диться либо неоттранслированная модель GPSS программы, либо последовательность команд. При попыт ке подключения с помощью этой команды оттранслированной моде ли с расширением «.gps» транслятор выдает сообщение о том, что подключаемый файл должен быть только с расширением «.txt».

Команда HALT прерывает моделирование и очищает очереди команд. Формат команды:

HALT

Команда HALT - немедленная команда и поэтому не помещает­ся в очередь команд объекта моделирования. Она выполняется не медленно, переводя процесс моделирования в приостановленное со­стояние и удаляя любые оставшиеся команды из очереди команд. Моделирование может быть продолжено позже командой CONTINUE. Только после этой команды можно использовать ко­манду GROUPS.

Команда HALT может быть выполнена с помощью «горячих клавиш» [Ctrl+Al+H], если активно окно GPSS World.

Команда INTEGRATE устанавливает интегрирование и пороги непрерывной переменной. Формат команды:

NAME INTEGRATE A,[B],C,[D],[E]

Таблица 4.50

Операнд Значение Результат по умолчанию
А Производная Ошибка
В Порог 1 Null
С Метка 1 Null
D Порог 2 Null
Е Метка 2 Null

NAME - имя переменной пользователя.

Значение операндов:

А - производная. Операндом А может быть имя, число, строка, выражение в скобках или СЧА.

В - первое пороговое значение (порог). Операндом В может быть имя, число, строка, выражение в скобках или СЧА.

С - первая метка. Операндом С может быть имя, положительное целое число, выражение в скобках или СЧА. Операнды В и С: или оба используются, или оба не используются.

D - второе пороговое значение (порог). Операндом D может быть имя, число, строка, выражение в скобках или СЧА.

Е - вторая метка. Операндом Е может быть имя, положительное целое число, выражение в скобках или СЧА. Операнды D и Е: или оба используются, или оба не используются.

Когда объект моделирования принимает команду INTEGRATE, он размещает ее в конце очереди команд.

При выполнении команд INTEGRATE переменная пользователя автоматически интегрируется с течением системного времени. Для интегрирования используется модифицированный метод Рунге-Кутта-Фельберга пятого порядка с переменным размером шага.

Всем переменным пользователя, используемым в интегрирова­нии, до выполнения моделирования должны быть даны начальные значения. Это можно сделать с помощью операторов EQU или опера­торов присваивания в PLUS-процедуре.

Операнд А команды INTEGRATE используется для производ­ной переменной пользователя по времени. Он может быть очень про­стым или весьма сложным. В последнем случае можно определить процедуру PLUS и разместить команду вызова в вводимом выраже­нии, используемом для операнда А.

Каждая команда INTEGRATE может иметь ноль, один или два числовых порога. Операнды В и С могут использоваться для опреде­ления первого порога, и (или) операнды D и Е могут использоваться Для определения второго порога. В любом случае, первый операнд пары определяет значение порога, второй указывает метку блока, ко­торый принимает генерируемые транзакты.

Если в течение интегрирования значение интегрируемой пере­менной достигает значение порога (с любого направления), создается новый транзакт. Этому транзакту устанавливается приоритет 0, и он переходит в блок, связанный с этим порогом в команде INTEGRATE. Время входа транзакта в модель определяется линей­ной интерполяцией. Для увеличения точности при приближении к порогу шаг интегрирования уменьшается. Транзакты, генерируемые при пересечении порога, могут использоваться для того, чтобы изме­нить значение порога.

Оба порога равноправны, нет необходимости определять один как нижний, а второй как верхний. Новый транзакт генерируется при пересечении любого порога с любой стороны. Если направление пе­ресечения важно для функционирования модели, то нужно следить за значением переменной либо проверять направление пересечения.

Интегрирование начинается автоматически в активном или «разрешенном» состоянии. Во время выполнения моделирования можно включать или выключать интегрирование, используя один или несколько блоков INTEGRATION.

Чтобы настроить автоматическое интегрирование переменной, необходимо:

1) объявить командой INTEGRATE интегрируемую переменную

2) присвоить начальные значения используемым переменным. Пусть имеется простое дифференциальное уравнение вида

y' =f (Θ), где Θ - это выражение, в которое входят некоторые пере­менные и (или) значение системного времени (СЧА АС1). По опреде­лению f (Θ) - это производная переменной у по времени. Итак, для настройки интегрирования нужно:

1) объявить командой INTEGRATE интегрируемую перемен­ную Y_ (не забыв при этом заключить выражение производной в скобки):

Y INTEGRATE (f (Θ))

2) присвоить переменной Y_ начальное значение, например,


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: