《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.8 小结...

本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第2章,第2.8节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.8 小结

本章介绍了名为Vergil的Ptolemy II可视化界面,它支持通过图形化方式构建模型,与此同时,还介绍了Ptolemy II系统的一些基础功能。后续章节将着重介绍各种可用的指示器的性质。附录部分将着重介绍计算模型的通用架构和跨计算模型的能力。
补充阅读:处理数组的角色
下面是角色可以对数组进行的操作:
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.8 小结...

ArrayAccumulate将输入数组附加于上一数组之后,以扩大输出数组。
ArrayAppend添加多重端口的信道上提供的输入数组。
ArrayAverage求数组元素的平均值。
ArrayContains确定数组是否包含特定的元素。
ArrayElement从一个数组中提取某个元素。
ArrayElementAsMatrix 使用类似矩阵的索引来提取元素。
ArrayExtract提取子数组。
ArrayLength 将输入数组的长度输出。
ArrayLevelCrossing 找出超过阈值的元素。
ArrayMaximum 寻找数组中的最大元素。
ArrayMinimum 寻找数组中的最小元素。
ArrayPeakSearch寻找数组元素的峰值。
ArrayRemoveElement 删除某个特定元素的实例。
ArraySort 对数组进行排序。
ArraySum 对数组元素求和。
ArrayUpdate 输出一个与输入数组类似的新数组,但替换原数组的一个元素。
另外,很多多态(Polymorphic)角色,如AddSubtract ,也可作用于数组。
补充阅读:移动代码
Ptolemy II中的一些角色支持移动模型(mobile model)。也就是说,对于从一个角色传递到另一个角色的数据,与其说它是运行于模型上的数据,不如说它是个待执行的模型。ApplyFunction角色从一个输入端口接收一个用表达式语言(见第13章)描述的函数,并将该函数作用于另一个端口(用户必须创建这个端口)到达的数据。MobileModel 角色从一个端口接收一个Ptolemy II模型的MoML描述,然后执行该模型来处理从另一端口输入的数据流。
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.8 小结...

图2-44 ApplyFunction角色从一个端口接收函数定义,并将函数作用于到达另一个端口的数据
ApplyFunction 角色的使用见图2-44。在该模型中,以交替方式为ApplyFunction角色提供两个函数:一个函数计算x2,另一个函数计算2x的。这两个函数由两个Const角色提供,可以从Sources→GenericSources子库中找到。这些函数由Commutator角色交替输出,Commutator在FlowControl→Aggregators子库中。