What does this code mean?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I'm trying to build a SimEvents model, where entities are assigned attributes that will determine whether they pass through a second loop in the model, or are terminated immediately.
I have the following code (See below) from my supervisor, but can't understand what it means. Any help is appreciated!
___
Found in Entity Generator (Entity Generation tab):
% Pattern: Repeating Sequence
persistent SEQ;
persistent idx;
if isempty(SEQ)
SEQ = [1 1 1 1 inf];
idx = 1;
end
%if idx > numel(SEQ)
% idx = 6;
%end
x = SEQ(idx);
idx = idx + 1;
dt=x;
___
Found in Entity Generator (Event Actions tab):
% Pattern: Repeating Sequence
persistent SEQ;
persistent idx;
if isempty(SEQ)
SEQ = [2 2 2 2 2];
idx = 1;
end
if idx > numel(SEQ)
idx = 1;
end
entity.Route = SEQ(idx);
idx = idx + 1;
Thank you!
2 Kommentare
Rishabh Rathore
am 31 Mai 2018
I could explain what every single line is doing but won't be able to explain the utility of the code as other code (i.e. context) is not given.
Antworten (2)
Jan
am 31 Mai 2018
Bearbeitet: Jan
am 31 Mai 2018
The first code replies a dt=1 for the first 4 calls and dt=inf for the fifth call.
The second code sets the variable entity.Route to 2 in all 5 calls.
3 Kommentare
Jan
am 1 Jun. 2018
dt is the output of the first code. The posted code does not contain any information which explains, how the value is used in the calling function. In the first call the code performs:
dt = 1
Do you see, that it is impossible to use this information to clarify the meaning of dt?
Krishna Akella
am 10 Dez. 2018
Hi Navya,
In the Entity Generator, Entity Generation tab, dt is the amount of time the generator has to wait before it generates the next entity. So it is the delta time to next entity. Or the inter-generation time.
If I understand correctly, you want 60% entities to go down path 1 and 40% to go down path 2. Assuming entity.Route is what is deciding the route later on in your model, you can draw a uniform random number between 0 and 1. If the value is less than or equal to 0.6, then set entity.Route = 1. Else, set entity.Route = 2.
- Krishna
0 Kommentare
Siehe auch
Kategorien
Mehr zu Discrete-Event Simulation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!