Предмет: Информатика, автор: aiken055a

написать программу в среде ппп матлаб для имитационного моделирование задачи 1 сервер одна очередь (1S1Q)которое называется барбершоп​

Ответы

Автор ответа: zhenyakorotkov366
1

% Параметры моделирования

N = 1000; % Количество заявок

lamda = 10; % Интенсивность потока заявок

mu = 15; % Интенсивность обслуживания заявок

% Инициализация переменных

queue = zeros(1, N); % Очередь заявок

queueLength = 0; % Длина очереди

serviceTime = zeros(1, N); % Время обслуживания заявок

departureTime = zeros(1, N); % Время окончания обслуживания заявок

% Моделирование процесса

for i = 1:N

   % Генерация времени поступления заявки

   if i == 1

       interarrivalTime = 0;

   else

       interarrivalTime = exprnd(1/lamda);

   end

   arrivalTime = departureTime(i-1) + interarrivalTime;

   

   % Генерация времени обслуживания заявки

   serviceTime(i) = exprnd(1/mu);

   

   % Рассчет времени окончания обслуживания заявки

   if i == 1

       departureTime(i) = arrivalTime + serviceTime(i);

   else

       if departureTime(i-1) > arrivalTime

           queueLength = queueLength + 1;

           queue(queueLength) = i;

           departureTime(i) = NaN;

       else

           departureTime(i) = arrivalTime + serviceTime(i);

       end

   end

   

   % Обслуживание заявок в очереди

   if i > 1 && ~isnan(departureTime(i-1))

       queueLength = queueLength - 1;

       j = queue(1);

       queue(1:queueLength) = queue(2:queueLength+1);

       queue(queueLength+1) = 0;

       departureTime(j) = departureTime(i-1) + serviceTime(j);

   end

end

% Анализ результатов

averageQueueLength = mean(queueLength);

averageWaitingTime = mean(departureTime - arrivalTime - serviceTime);

disp(['Средняя длина очереди: ', num2str(averageQueueLength)]);

disp(['Среднее время ожидания: ', num2str(averageWaitingTime)]);

 

Этот код генерирует поток заявок, вычисляет время обслуживания заявок и время окончания обслуживания, а также рассчитывает среднюю длину очереди и среднее время ожидания заявок. Результаты выводятся на экран. Данный код можно адаптировать для разных параметров моделирования, например, для изменения интенсивности потока заявок и интенсивности обслуживания заявок.


aiken055a: Индексы массива должны быть целыми положительными числами или
логическими значениями.
aiken055a: не работает код
zhenyakorotkov366: в какой среде работаешь с кодом?
aiken055a: матлаб
Интересные вопросы
Предмет: Английский язык, автор: Erphek