类:matlab。DiscreteEventSystem
包:matlab
创建实体转发事件
事件= eventForward (locationType locationIndex延迟)
创建事件以将实体从当前位置转发到新位置。然后,您可以通过在实现事件操作方法(例如)时将其作为输出参数返回来调度此事件事件
= eventForward (locationType
,locationIndex
,延迟
)条目
.
定义将当前实体转发到存储的事件。
函数(实体、事件)=条目(obj、存储实体,src)定义将当前实体转发到存储器的事件% 2的元素。事件应该被安排在0.8秒后执行。event1 = obj.eventForward (“存储”2、0.8);定义一个事件,将当前实体转发到输出端口1。事件将被安排在当前模拟时钟时间执行。event2 = obj.eventForward (“输出”,1,0);%定义事件为event1和event2事件= [event1, event2];结束
此示例显示如何使用离散事件系统对象™方法创建具有一个输入端口,一个输出端口和一个存储元件的自定义实体存储块。离散事件系统对象是实例化的matlab。DiscreteEventSystem
类,允许您使用此类提供的实现和服务方法。然后,你使用MATLAB离散事件系统块将System对象集成到sievents中®模型。
自定义MATLAB离散事件系统块从其输入端口接收一个实体,并以指定的延迟将其转发到其输出端口。有关更多信息,请参见使用自定义实体存储块延迟实体.
classdefcustomentitystorageblock%一个自定义实体存储块,具有一个输入、一个输出和一个存储。% Nontunable属性特性(Nontunable)%的能力能力= 1;%的延迟延迟= 4;结束方法(访问=保护)函数num = getNumInputsImpl(~) num = 1;结束函数num = getNumOutputsImpl(~) num = 1;结束函数EntityTypes = getEntitytypesimpl(obj)entitytvepes = obj.entitytype('车');结束函数[inputTypes,outputTypes] = getEntityPortsImpl(obj) inputTypes = {'车'};outputTypes = {'车'};结束函数[StoragePecs,i,O] = getEntitystorageimpl(obj)storagespecs = obj.queuefifo('车', obj.Capacity);I = 1;O = 1;结束结束方法函数(实体、事件)= CarEntry (obj、存储实体,源)%指定实体进入存储时的事件操作。事件= obj.eventForward (“输出”1、obj.Delay);结束结束结束