我有测量数据,以包含MATLAB时间序列对象的层次结构的形式存储。 例如:
MyData
- TimeSeries1
- TimeSeries2
- MyHierarchicalData
-- TimeSeries3
要在Simulink中使用它,我使用from文件块从单个文件中读取这些结构。但是,要从中选择信号,总线选择器块需要相应的总线对象。由于总线对象或多或少对应于结构,我想知道是否可以从结构化时间序列数据中生成总线对象。如果总线只包含一些变量,手动执行此操作不会有问题,但总线包含大约250个元素。
我的第一个猜测是Simulink API,但我认为这个问题发生得更频繁,并且存在一个更简单的解决方案。如果没有,我在错误的路上,我也会感激一些反馈。
提前致谢!
答案 0 :(得分:1)
您可以将我发布的答案推荐给我自己(有点类似)的问题: https://stackoverflow.com/a/17152383/1710688
由于您已经有时间序列对象的结构,因此需要使用函数fieldnames
(see MATLAB Documentation)来获取每个时间序列对象的值。
您有层次结构,因此您还需要使用函数class
(see MATLAB Documentation)来检查它是时间序列对象还是结构对象,在这种情况下您需要再次查看其字段名称。我不确定如何创建分层信号总线对象,但希望Using Bus Objects上的这个链接可以提供帮助。
希望有所帮助。