AnyLogic 5 Discussion

Мне необходимо в объекте source изменять закон распределения времени между заявками, например, с экспоненциального на случайный и т.п. с помощью переключателей на анимации. В поле interarrivalTime объекта source пытался написать условие. Так не получилось. Пробовал даже создавать несколько объектов source и с помощью disconnect/connect переключать связи между ними и очередью - ошибок модель не выдает, но не переключает (связи остаются). Помогите, пожалуйста, с этой проблемой.
Илья, можно использовать следующий способ. Вам нужно создать собственный метод и вызывать его в поле interarrivalTime. Метод должен иметь параметр, обозначающий номер используемого в данный момент распределения, и возвращать соответствующее случайное число. С помощью переключателей на анимации этот номер можно менять, то есть присваивать какой-то переменной необходимое значение, которая как раз и будет использоваться в качестве параметра вашего метода.
Спасибо Вам большое, Виктор Глейм, за помощь! Мне это помогло. Подскажите пожалуйста как можно вычислить факториал и округлить число. Мне это нужно для вычисления законов распределения и нигде не могу найти эту информацию.
Для вычисления факториала числа n можно использовать следующую функцию: public factorial(n){ int factorial=1; for (int i=1;I<=n;i++;) factorial=factorial*i; } Для округления чисел существует специальная встроенная функция: round()
Большое спасибо за помощь!