如何将Simulink.Parameter
结构(在我的情况下是结构的结构)传递给 a C S-function
?
编辑:
您可以通过以下方式创建 Simulink.Parameter 对象:
modelParameters = Simulink.Parameter;
modelParameters.Value = myStruct;
modelParameters.CoderInfo.StorageClass = 'ExportedGlobal';
该myStruct
值是结构的常规 matlab 结构。这就是我的情况:
这是一种用于将参数传递给 Simulink 的特殊对象类型,我正在寻找一种机制来从C S-function
.
MnWE
从这里下载一个。
编辑2: 我以这种方式读取参数:
modelParameters_T *modelParameters = (modelParameters_T*)mxGetPr(ssGetSFcnParam(S, PARAM_STRUCT));
但我明白为什么这种方法不起作用——Matlab 中的结构对象与 C 结构不同,即在内存中不连续并且也包含其他属性。我想我会将 Matlab 结构转换为一个数组,然后将 C 中的数组转换为我的结构定义。