ssSetOutputPortDimensionInfo()-Beispiel für eine 2D-Matrix

Hier ist, wie man einen 2D-Matrix-Ausgangsport in einer Matlab/Simulink-S-Function mit ssSetOutputPortDimensionInfo() spezifiziert. In diesem Beispiel spezifizieren wir einen 7x7-Matrix-Ausgangsport (49 Elemente insgesamt).

sssetoutputport.cpp
#include "simstruc.h"

static int _outputSubDims[2] = {7, 7};
static DimsInfo_T outputDimsInfo = {
        7*7,
        2,
        _outputSubDims,
        nullptr
};


// Function: mdlInitializeSizes ==============================================
static void mdlInitializeSizes(SimStruct *S) {
  // ...
  if (!ssSetNumOutputPorts(S, 1)) return;
  ssSetOutputPortWidth(S, 0, 49); // 7x7 elements

  ssSetOutputPortDimensionInfo(S, 0, &outputDimsInfo);
}

Check out similar posts by category: Matlab/Simulink, C/C++