2012-07-13 166 views
0

我希望我的Simulink Level 2 S函数能够顺序运行一系列测试用例。每个测试用例都填充一个包含多个数值数组的结构体。 目前我正在试图实现上述两个步骤:工作空间结构数组输入到Simulink M文件中S函数

  • 步骤1:生成使用M档测试用例,到工作区保存为结构的数组
  • 步骤2:读取结构的从阵列工作区放入我的模型中,使用2级M 文件S函数处理测试用例。

第2步对我来说是有问题的,因为我无法找到一种方法让S函数块接受来自Workspace的结构体数组变量作为输入。我想尝试避免simin方法(另一个Stackoverflow讨论,here),因为它似乎需要将整个结构表示为单个数据列,并且我希望保持结构完整。还尝试使用以struct数组作为变量名的Constant块,但是该块会返回'块名参数值'的无效设置。

希望得到任何建议,让这个设置正确。如果完全有必要的话,也可以使用另一种构建模型的方法。谢谢!

编辑:意识到我可以导入S函数M文件本身的数据,使用加载。这适用于我的项目。但是,我仍然对知道传统解决方案是否存在感兴趣。

回答

1

如果你只是想访问工作区,我会考虑使用evalin(来电显示,“表达”)里面你M文件S-功能:

mystruct = evalin('base','MyStructFromWorkspace'); 
/* (process mystruct) */ 

还应该做的伎俩。