Exemple ssSetOutputPortDimensionInfo() pour une matrice 2D

Voici comment spécifier un port de sortie matrice 2D dans une S-Function Matlab/Simulink en utilisant ssSetOutputPortDimensionInfo(). Dans cet exemple, nous spécifierons un port de sortie matrice 7x7 (49 éléments au total).

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++