MATLAB Answers


Assign Attribute From Matlab Workspace

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.


Show 1 older comment
How is the sequence of entities defined? E.g., is it a cell array?
The entities are are Time-Based, representing an Interlaken Data Word. The attribute is the 67 bits of data constitute the word.
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.

2 Answers

Answer by Devdatt Lad on 13 Jun 2011
 Accepted Answer

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

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.

Answer by Walter Roberson
on 13 Jun 2011

Please see the third row of the table in the user guide

  1 Comment

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.