主要内容

ssSetNumModes

指定块的模式向量的大小

语法

int_T ssSetNumModes(SimStruct *S, int_T nModes)

参数

年代

表示s -功能块的SimStruct。

nModes

表示的块的模式向量的大小年代.有效的值0,一个正整数,或DYNAMICALLY_SIZED

返回

指定的模式数nModes,或-1如果DYNAMICALLY_SIZED

描述

设置块的模式向量的大小为nModes.模式向量的元素初始化为直到使用ssSetModeVectorValue或通过获取的指针ssGetModeVector

如果nModesDYNAMICALLY_SIZED,可以指定真正的(正整数)宽度mdlSetWorkWidths;否则,所使用的宽度为通过该块的信号的宽度。在mdlInitializeSizes指定数目int_T模式向量中的元素。的仿真软金宝app件®引擎分配模式向量并将其元素初始化为0。如果默认值0不合适,可以将数组元素设置为mdlInitializeConditions.使用ssGetModeVector来访问模式向量。

模式向量与过零检测相结合,可以根据输入或输出信号的电流值创建具有不同工作模式的块。例如,考虑一个输出其输入绝对值的块。这样的块以两种不同的模式运行,这取决于它的输入是正的还是负的。如果输入是正的,则块输出不变的输入。如果输入是负数,则块输出输入的负数。您可以使用过零检测来检测输入什么时候改变符号,并相应地更新单元素模式向量(例如,将其元素设置为0表示负输入,1表示正输入)。然后你可以使用模式向量mdlOutputs以确定块当前操作的模式。

语言

C, c++

例子

看到这个功能sfun_zc.c中使用的sfcndemo_sfun_zc和功能sfun_zc_sat.c中使用的sfcndemo_sfun_zc_sat

之前介绍过的R2006a