Writing S-Functions | ![]() ![]() |
Specify information about the dimensionality of an input port.
Syntax
void ssSetInputPortDimensionInfo(SimStruct *S, int_T port,
DimsInfo_T *dimsInfo)
Arguments
S
SimStruct representing an S-function block.
dimsInfo
Structure of type DimsInfo_T that specifies the dimensionality of the signals accepted by port
.
typedef struct DimsInfo_tag{ int width;/* number of elements */ int numDims/* Number of dimensions */ int *dims;/* Dimensions. */ [snip] }DimsInfo_T;
numDims
specifies the number of dimensions of the signal, e.g., 1 for a 1-D (vector) signal or 2 for a 2-D (matrix) signal, or DYNAMICALLY_SIZED
if the number of dimensions is determined dynamicallydims
is an integer array that specifies the size of each dimension, e.g., [2 3]
for a 2-by-3 matrix signal, or DYNAMICALLY_SIZED for each dimension that is determined dynamically, e.g., [2 DYNAMICALL_SIZED]
width
equals the total number of elements in the signal, e.g., 12 for a 3-by-4 matrix signal or 8 for an 8-element vector signal, or DYNAMICALLY_SIZED
if the total number of elements is determined dynamicallyNote
Use the macro, DECL_AND_INIT_DIMSINFO , to declare and initialize an instance of this structure.
|
Description
Specifies the dimension information for port
. Use this function in mdlInitializeSizes
to initialize the input port dimension information. If you want the port to inherit its dimensions from the port to which it is connected, specify DYNAMIC_DIMENSION
as the dimsInfo
for port
.
Languages
Example
The following example specifies that input port 0 accepts 2-by-2 matrix signals.
{ DECL_AND_INIT_DIMSINFO(di); int dims[2]; di.numDims = 2; dims[0] = 2; dims[1] = 2; di.dims = &dims; di.width = 4; ssSetInputPortDimensionInfo(S, 0, &di); }
See Also
ssSetInputPortMatrixDimensions, ssSetInputPortVectorDimension
![]() | ssSetInputPortDataType | ssSetInputPortDirectFeedthrough | ![]() |