文档

mdlSetWorkWidths

指定工作向量的大小,并创建此C MEX s -函数所需的运行时参数

要求

没有

语言

C, c++

语法

#定义MDL_SET_WORK_WIDTHS(SimStruct *S)

参数

年代

SimStruct表示S-Function块。

描述

的仿真软金宝app件®引擎调用这个可选方法来启用这个s函数来设置它存储全局数据所需的状态和工作向量的大小,并创建运行时参数(参见创建和更新S-Function运行时参数).引擎在确定s函数的输入端口宽度、输出端口宽度和采样次数之后调用此方法。这允许s函数根据输入和输出的数量和大小和/或采样次数来确定状态和工作向量的大小。该方法通过宏指定状态和工作向量的大小ssGetNumContStatesssSetNumDiscStatesssSetNumRWorkssSetNumIWorkssSetNumPWorkssSetNumModes,ssSetNumNonsampledZCs

C-MEX s -函数只有在不知道引擎调用该函数时所需的所有工作向量的大小时才需要实现此方法mdlInitializeSizes方法。如果s函数实现mdlSetWorkWidths,它应该初始化它所需要的任何功向量的大小DYNAMICALLY_SIZEDmdlInitializeSizes即使对于那些确切的体型,它也能知道。s函数应该指定实际的大小mdlSetWorkWidths.此方法仅对模拟有效,必须包含在#如果定义(MATLAB_MEX_FILE)声明。

例子

有关使用DWork向量的C MEX s函数的完整示例,请参阅文件sfun_rtwdwork.c在Simulink模型中金宝app使用sfcndemo_sfun_rtwdwork

R2006a之前介绍过