迭代
类:matlab.DiscreteEventSystem
包:matlab
事件动作当实体迭代
语法
(实体、事件、下)=迭代(obj、存储实体,标签,cur)
(实体、事件、接下来,着干活,…]=迭代(obj、存储实体,标签,坏蛋,in1,…)
描述
(
指定事件的行为当一个实体加工作为一个迭代事件的一部分。实体
,事件
,下一个
)=迭代(obj
,存储
,实体
,标签
,坏蛋
)
(
指定这样的事件动作时块有一个或多个输入信号端口和/或信号输出端口。实体
,事件
,下一个
,着干活
…]=迭代(obj
,存储
,实体
,标签
,坏蛋
,三机一体
,……)
输入参数
输出参数
例子
提出第一个实体
提出第一个实体匹配数据值输出端口1的离散事件系统。
函数(实体、事件、下)=迭代(obj、存储、实体、标签、状态)%向前第一实体匹配数据值输出%端口1的离散事件系统。disp ([“搜索在存储元素”num2str(存储)]);disp ([的总大小= 'num2str (status.size)]);disp ([“当前位置= 'num2str (status.position)]);如果(实体。数据== obj.dataToSearch) events = obj.eventForward(“输出”1 0);下一个= false;%发现,早期终止其他的事件= [];下一个= true;%没有找到,继续结束结束
自定义实体存储块迭代的事件
在这个例子中,一个自定义块允许实体进入其存储元素通过其输入端口。存储元素是一个优先队列,根据实体直径
属性按升序。每个实体进入块的存储调用迭代事件显示直径和存储中的每个实体的位置。
有关更多信息,请参见创建一个自定义实体存储块迭代的事件。
classdefCustomEntityStorageBlockIteration < matlab.DiscreteEventSystem%一个自定义实体存储块和一个输入端口和一个存储元素。% Nontunable属性属性(Nontunable)%的能力能力= 5;结束%创建存储元素具有一个输入和一个存储。方法(访问=保护)函数num = getNumInputsImpl (obj) num = 1;结束函数num = getNumOutputsImpl (obj) num = 0;结束函数entityTypes = getEntityTypesImpl (obj) entityType1 = obj.entityType (“轮”);entityTypes = entityType1;结束函数[inputTypes, outputTypes] = getEntityPortsImpl (obj) inputTypes = {“轮”};outputTypes = {};结束函数[storageSpecs, I, O] = getEntityStorageImpl (obj) storageSpecs = obj.queuePriority (“轮”obj.Capacity,“直径”,“提升”);I = 1;O = [];结束结束%的实体进入事件的行动方法函数(实体、事件)= WheelEntry (obj、存储实体,源)%实体条目调用一个迭代的事件。事件= obj.eventIterate (1,”);结束% itarate事件动作函数(实体、事件、下)= WheelIterate (obj、存储实体,标签,cur)%显示轮id,在存储位置和直径。coder.extrinsic (“流”);流(“轮id % d,当前位置% d,直径% d \ n ',…entity.sys。id,坏蛋。位置,实体。数据。直径);如果cur.size = = cur.position流(“迭代\ n的终结”)结束下一个= true;事件= [];结束结束结束
版本历史
介绍了R2016a