Assign Attribute From Matlab Workspace

4 views (last 30 days)
I have a 2-D array that is created in Matlab that I want to increment through and assign as 1-D vectors to a sequence of entities.
  4 Comments
Jeff Bradley
Jeff Bradley on 13 Jun 2011
Good question Paulo. The question is how do I go about getting the attribute, that exists in Matlab, associated with the entity?

Sign in to comment.

Accepted Answer

Devdatt Lad
Devdatt Lad on 13 Jun 2011
Use the statistic Number of entities departed, #d from the time-based entity generator block and feed it to a Discrete Event Subsystem which contains a Constant block followed by a Selector block. Set the constant value to be the workspace variable, and feed the #d signal as the index port of the selector block. Thus, for the i-th entity, the selector will output Constant[i]. Use the Set Attribute block at the output of the Discrete-Event Subsystem to set this value as the entity's attribute. Is this what you are looking for?
Remember to use a single server with service time 0, between the time-based entity generator and the set attribute block to get the timing right. More on that here.
  1 Comment
Jeff Bradley
Jeff Bradley on 13 Jun 2011
Thanks Lad. You have confirmed that I'm on the right path. I will be trying Dis Ev Subsystem approach thia afternoon. You just brought my confidence up significantly. :-)

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 13 Jun 2011
Please see the third row of the table in the user guide
  1 Comment
Jeff Bradley
Jeff Bradley on 13 Jun 2011
Thanks Walter.
I've been down that path. The problem I'm having is, based on the entity number, I want to grab a specific row from the array of data and associate with the entity. In other words, when I have an entity in the SimEvents domain I would like to use that entity to request data from the Matlab domain and associate it with the enity.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!