
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (54) « Первая ... 23 24 [25] 26 27 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#361
,
|
|
|
да TEMENb мне тоже интересен этот материал
![]() |
Сообщ.
#362
,
|
|
|
еще вопрос. Мне необходимо использовать в программе текущее значение функции. Функция - косинус. По-моему, текущее знчение определяется так: FN1.
Вопрос: как задать косинус в FUNCTION, и как затем сделать на нее ссылку в GENERATE? |
Сообщ.
#363
,
|
|
|
Flames, в вверху страницы есть ссылка, даже выделена красным восклиццательным знаком!
Добавлено Цитата Стандартные числовые атрибуты (СЧА) В процессе моделирования интерпретатор OpenGPSS автоматически регистрирует и корректирует информацию, касающуюся различных элементов, используемых в модели. Большая часть информации доступна только интерпретатору. Однако, к некоторым атрибутам объектов может обращаться и программист, манипулируя их значениями согласно логики модели. Такие атрибуты называются стандартными числовыми атрибутами (СЧА). Каждый объект OpenGPSS имеет свой набор СЧА. Кроме СЧА объектов существуют еще системные числовые атрибуты, к которым пользователь может обращаться в модели, но не может изменять их значение. Имя СЧА состоит из двух частей. Первая часть указывает групповое имя, идентифицирующее тип объекта и тип информации об объекте. Вторая часть идентифицирует конкретного члена группы. Групповое имя состоит из одной-двух букв, фиксированных для информации об объектах определенного типа, например, Q - ссылка на текущее значение длины очереди, QA - целая часть среднего значения очереди и т.д. Объекты OpenGPSS могут быть идентифицированы с помощью числовых или символьных имен. Если объект идентифицирован с помощью номера, то ссылка на его стандартный числовой атрибут записывается как СЧАj, где j - номер объекта (целое число). При символической идентификации объекта ссылка на его стандартный атрибут записывается как СЧА$<имя>, где <имя> - символьное имя объекта. Системные СЧА RN Числовые последовательности считываются из датчиков псевдослучайных чисел (ДПЧ) с помощью СЧА RNj. Все датчики генерируют последовательность равномерно распределенных случайных дробных чисел от 0 до 0,999999999999999 (пятнадцать девяток после нуля). Количество датчиков не ограничено. C1 Текущее значение условного времени. Автоматически изменяется программой и устанавливается в 0 управляющими операторами CLEAR или RESET. AC1 Текущее значение абсолютного времени. Автоматически изменяется программой. Эта величина не меняется под действием управляющего оператора RESET и устанавливается в 0 лишь под действием оператора CLEAR. TG1 Число, равное текущему значению счетчика завершений. Транзакты, вошедшие в блоки TERMINATE с ненулевым операндом А, уменьшают значение этого счетчика на число, равное значению операнда А. Z1 Размер свободной оперативной памяти в байтах. М1 Время пребывания в модели транзакта, обрабатываемого программой в данный момент. Эта величина может изменяться блоком MARK. Время пребывания вычисляется следующим образом: М1 равно разнице текущего значения абсолютного времени и отметки времени обрабатываемого транзакта. PR Приоритет обрабатываемого в данный момент транзакта. Эта величина может изменяться блоком PRIORITY. По умолчанию приоритет равен 0. СЧА транзактов XN1 Номер активного транзакта. Pj или *j, или *<имя>, или *$<имя> значение параметра j текущего транзакта или значение параметра с именем <имя> текущего транзакта. MPj Значение времени, равное разности абсолютного модельного времени и содержимого j-го параметра текущего транзакта. MBj Флаг синхронизации: 1, если транзакт в блоке j принадлежит тому же семейству, что и текущий транзакт; 0 - в противном случае. СЧА блоков Nj Общее число транзактов, которое должно войти в j-й блок. Подсчет ведется программой автоматически. Например, N$MET1 - счетчик числа входов в блок МЕТ1. Этот счетчик изменяется при каждом входе транзакта в блок МЕТ1. Wj Текущее число транзактов, которое находится в блоке j. Значение этого счетчика подсчитывается автоматически. Например, $MET2 - счетчик текущего числа транзактов в блоке МЕТ2. СЧА МКУ Sj Текущее содержимое многоканального устройства j. Содержимое многоканального устройства может изменяться блоками ENTER и LEAVE. Rj Число свободных единиц многоканального устройства j. Эта величина может изменяться блоками ENTER и LEAVE. SRj Коэффициент использования многоканального устройства j в тысячных долях, т.е., если коэффициент равен 0.65, то SRj равно 650. SAj Среднее содержимое многоканального устройства j (целая часть). SMj Максимальное содержимое многоканального устройства j. SCj Общее число входов в многоканальное устройство j. STj Среднее время пребывания транзактов в многоканальном устройстве j. SEj Флаг незанятости многоканального устройства j: 1 - свободно, 0 - занято. SFj Флаг заполненности многоканального устройства j: 1 - заполнено, 0 - не заполнено. SVj Флаг готовности многоканального устройства j: 1 - готово, 0 - не готово. SNVj Флаг неиспользуемости многоканального устройства j: 1 - неиспользуется, 0 - используется. СЧА устройств Fj Текущее состояние устройства j. Эта величина равна 0, если устройство свободно, и 1 - во всех остальных случаях. Этот атрибут изменяется блоками SEIZE, RELEASE, PREEMPT и RETURN. FIj Флаг прерывания устройства: 1, если устройство находится в состоянии прерывания, 0 - в противном случае. FVj Флаг готовности устройства к использованию: 1, если готово, 0 - в противном случае. FRj Коэффициент использования устройства j в тысячных долях, т.е., если коэффициент равен 0.88, то FRj равен 880. FCj Общее число входов в устройство j. FTj Среднее время использования устройства одним транзактом. СЧА очередей Qj Длина соответствующей очереди j. Эта величина изменяется блоками QUEUE и DEPART. QAj Средняя длина очереди j. QMj Максимальная длина очереди j. QCj Общее число входов в очередь j. QZj Число нулевых входов в очередь j. QTj Среднее время пребывания транзакта в очереди j (включая нулевые входы). QXj Среднее время пребывания транзакта в очереди j (без нулевых входов). СЧА таблиц TBj Вычисленное среднее таблицы j. Для занесения в таблицу используется блок TABULATE. TCj Общее число включений в таблицу j. TDj Вычисленное среднеквадратичное отклонение для таблицы. СЧА сохраняемых величин Xj Содержимое ячейки j. СЧА матриц MXj(a,b) Содержимое элемента матрицы ячеек j, расположенного в строке a, столбце b. СЧА функций FNj Вычисленное значение функции j. От значения функции берется целая часть, за исключением тех случаев, когда это значение используется в качестве модификатора в блоках GENERATE, ADVANCE или ASSIGN или в качестве аргумента другой функции. СЧА переменных Vj Вычисленное значение переменной j. При вычислении значения переменной с фиксированной точкой получается целое число. При вычислении значения переменной с плавающей точкой дробная часть конечного результата отбрасывается. BVj Вычисленное значение (1 или 0) булевской переменной. СЧА числовых групп GNj Текущее число элементов в числовой группе с номером j. СЧА групп транзактов GTj Текущее число элементов в группе транзактов с номером j. СЧА списков пользователя CHj Текущее число транзактов в j-том списке пользователя. CAj Среднее число транзактов в j-том списке пользователя. CMj Максимальное число транзактов в j-м списке пользователя. CCj Число входов в j-й список пользователя. CTj Среднее время пребывания транзакта в j-том списке пользователя. СЧА логических переключателей LSj Возвращает состояние логического переключателя j: 1 - установлен, 0 - не установлен. LRj Возвращает инверсное состояние логического переключателя j: 0 - установлен, 1 - не установлен. Добавлено Цитата tigreg @ еще вопрос. Мне необходимо использовать в программе текущее значение функции. Функция - косинус. По-моему, текущее знчение определяется так: FN1. Вопрос: как задать косинус в FUNCTION, и как затем сделать на нее ссылку в GENERATE? Вопервых, что бы обратиться к функции по числовому имени - надо задать функцию по числовому имени. Это сделать возможно.. желаю вам удачи ![]() Вовторых, берете случайным образом выбираете на графике стук пиццот (25 точек вполне хватит) точек и записываете FCOS FUNCTION RN1,C25 ;25 ТОЧЕК а далее записываете полученные точки. абсцысу и ординату. координаты точек пишете через запятую, сами точки отделяете значком деления. точки должны быть расставлены так, что бы абсцыса возрастала. З.Ы.: пользуйтесь встроенной plus функцией COS и не иите мозги ни себе ни людям. З.З.Ы.:надоело отвечать по 7 раз на один и тот же вопрос на одной странице форума.. Добавлено З.З.З.Ы: вырезка из жпссного хелпа (так ведь сложно глянуть почитать..) Цитата что в переводе означает, что аргумент коссинуса должен быть в радианах. надеюсь ненадо обьяснять как градусы в радианы переводить? COS( Expression ) - Cosine. Expression must be in radians. ![]() |
Сообщ.
#364
,
|
|
|
за ответ спасибо. со всем остальным...
![]() ![]() |
Сообщ.
#365
,
|
|
|
tigreg, и еще, если вы будете использовать косинус в качестве параметра - есть один маленький ньюанс.
В качетсве параметров жпсс адекватно воспринимает числа, символьные константы, СЧА и выражения, заключенные в скобки. Так вот Puls-функции - это выражения. обязательно нужно заключать в скобки. Например ![]() ![]() GENERATE (COS(3.14)) |
Сообщ.
#366
,
|
|
|
(80/91),(24/91) - не знал что так можно! клево :-) если пересчитать в минуты, то (80/91)±(24/91)часов = (80/91)*60 ± (24/91)*60 минут = 52.74±15.82 минут. до этого получил аналогичные результаты: 52±16 мин, только вот округление конечно здесь было не корректным. получается что я чисто интуитивно рассчитал интервалы правильно, не зная формул ![]() ![]() TEMENb, еще раз огромнейшее человеческое спасибо за оказанную помошь! |
Сообщ.
#367
,
|
|
|
Имеется 5 входных накопителей (емкость -1 сообщение), и 5 выходных очередей. При определенном условии необходимо освободить эти 5 накопителей и 5 выходных очередей только от заявок 2 и 3 типов, заявки же первого типа не трогать(всего в системе 3 типа заявок). Какими глаголами это можно сделать?
|
Сообщ.
#368
,
|
|
|
h4_jester, что ты подразумеваешь под словом "накопитель"?
варианты ответов: 1 queue/depart 2 enter/leave 3 seize/release Добавлено Цитата .................. queue nakopitel Test e ((f$yst=0)|(p$type=2)|(p$type=3)),1 Test e f$yst,0,osvobodit seize yst ................... |
Сообщ.
#369
,
|
|
|
накопитель - enter/leave.
|
Сообщ.
#370
,
|
|
|
h4_jester, ну такой вариант немного сложнее.
Тут вообщем есть два пути. первый - сохранить время пребывания в накопителе в параметр..... ![]() ![]() .................. assign tim,(duniform(1,10,14)) queue och enter nak depart och advance 1 assign tim-,1 Test e ((p$tim<=0)|((x$del=1)&((p$type=2)|(p$type=3)))),1 Test le p$tim,0,osvobodit leave nak ................... osvobodit leave nak ................... ну и второй вариант - пользоваться пользовательскими списками. удалить транзакты нужного типа будет очень просто, а вот организовать правильное время выхода алгебраически сложнее (модель не усложниться, но подумать над цыфрами прийдеться) |
Сообщ.
#371
,
|
|
|
Здравствуйте! Скажите пожалуйста, если к одноканальному устройству ограничен накопитель, это устройство в программе как память записывать(с фазами выделения и освобождения памяти) или как устройство? Если как устройство, то как показать что ограничен накопитель?
Если возможно, ответьте сегодня. до вечере нужно сделать. |
Сообщ.
#372
,
|
|
|
inna, вы взрываете мой мозг!
думаю вам надо что то типа ![]() ![]() TEST L Q$och,10,OTK ;если очередь короче 10, то дальше, иначе на метку (отказ) QUEUE och SEIZE ND DEPART och ;покинуть очередь ADVANCE 120,25 RELEASE ND ; В следующий раз потрудитель изъяснятся попонятней. |
Сообщ.
#373
,
|
|
|
Спасибо большое!! Но как я понимаю, мне надо задать сначали емкость накопителя (или очереди) . Подскажите пожалуйста, где это указать.
|
Сообщ.
#374
,
|
|
|
Цитата TEMENb @ ![]() ![]() TEST L Q$och,10,OTK ;если очередь короче 10, то дальше, иначе на метку в данном примере размер очереди ограничен десяткой. |
Сообщ.
#375
,
|
|
|
огромное спасибо! Вы мне очень помогли
![]() |