指定工作向量的大小,并创建这个C MEX s -函数所需的运行时参数
没有
C, c++
#定义MDL_SET_WORK_WIDTHS空白mdlSetWorkWidths (SimStruct *年代)
年代
表示s -功能块的SimStruct。
的仿真软金宝app件®引擎调用这个可选方法,使这个s函数能够设置状态和工作向量的大小,以便存储全局数据和创建运行时参数(参见创建和更新s -函数运行时参数).引擎在确定了输入端口宽度、输出端口宽度和s函数的采样次数之后调用这个方法。这允许s函数根据输入和输出的数量和大小以及/或样本次数来确定状态和工作向量的大小。此方法通过宏指定状态和工作向量的大小ssSetNumContStates
,ssSetNumDiscStates
,ssSetNumRWork
,ssSetNumIWork
,ssSetNumPWork
,ssSetNumModes
,ssSetNumNonsampledZCs
.
只有当C-MEX s -函数不知道引擎调用该函数时所需的所有工作向量的大小时,它才需要实现这个方法mdlInitializeSizes
方法。如果这个s函数实现了mdlSetWorkWidths
,它应该初始化它需要的任何工作向量的大小DYNAMICALLY_SIZED
在mdlInitializeSizes
,即使是对于那些它当时知道确切大小的物体。然后s函数应该指定的实际大小mdlSetWorkWidths
.此方法仅对模拟有效,必须包含在#如果定义(MATLAB_MEX_FILE)
声明。
有关使用DWork向量的C MEX s函数的完整示例,请参阅该文件sfun_directlook.c
.