工作区结构数组输入到 Simulink M 文件 S 函数
Posted
技术标签:
【中文标题】工作区结构数组输入到 Simulink M 文件 S 函数【英文标题】:Workspace struct array input to Simulink M file S function 【发布时间】:2012-07-13 19:27:15 【问题描述】:我希望我的 Simulink Level 2 S 函数按顺序运行一系列测试用例。每个测试用例填充一个包含多个数值数组的结构。 我目前正在尝试分两步实现上述目标:
第 1 步:使用 M 文件生成测试用例,作为结构数组保存到 Workspace 第 2 步:使用 Level 2 M 将工作区中的结构数组读取到我的模型中 文件 S 函数来处理测试用例。第 2 步对我来说是有问题的,因为我无法找到让 S-Function 块接受来自工作区的结构数组变量作为输入的方法。我想尝试避免使用 simin 方法(另一个 *** 讨论,here),因为它似乎需要将整个结构表示为单个数据列,并且我想保持结构完整。还尝试使用带有结构数组作为变量名的常量块,但这会返回块的“blockname 参数值的无效设置”。
对于正确设置此设置的任何建议,我们将不胜感激。如果绝对必要,也可以使用不同的方法来构建模型。谢谢!
编辑:意识到我可以使用 load 在 S 函数 M 文件本身中导入数据。这适用于我的项目。但是,我仍然有兴趣知道是否存在针对此问题的常规解决方案。
【问题讨论】:
【参考方案1】:如果您只想访问工作区,我会考虑在您的 M 文件 S-function 中使用 evalin(caller,'expression'):
mystruct = evalin('base','MyStructFromWorkspace');
/* (process mystruct) */
它也应该可以解决问题。
【讨论】:
以上是关于工作区结构数组输入到 Simulink M 文件 S 函数的主要内容,如果未能解决你的问题,请参考以下文章