Задайте размещение массивов S-функции
void ssSetArrayLayoutForCodeGen(SimStruct *S, SSArrayLayout arrayLayout)
SimStruct, представляющий Блок s-function.
Размещение массивов S-функции.
Задайте размещение массивов пользовательской S-функции. Используйте этот макрос в mdlInitializeSizes установить размещение массивов S-функции. Если SSArrayLayout заданный для S-функции отличается от значения, заданного для параметра конфигурации модели Array layout (Simulink Coder), Simulink® Coder™ сообщает об ошибке. Можно выключить ошибку путем изменения External functions compatibility for row-major code generation (Simulink Coder) в warning или none.
Перечислимый тип SSArrayLayout задает множество значений что arrayLayout может иметь.
|
Значение размещения массивов |
Поддерживаемое большинство |
|---|---|
|
|
Незаданный |
|
|
Упорядоченный по столбцам |
|
|
Упорядоченный по строкам |
|
|
Упорядоченный по столбцам или упорядоченный по строкам |
По умолчанию, SSArrayLayout установлен в SS_UNSET.
Установите SSArrayLayout как SS_ALL если ваша S-функция не затронута размещением массивов. Сгенерированный код не влияет на эффективность кэша.
При выполнении упорядоченных по строкам симуляций в Акселераторе и Быстрых Режимах Accelerator, Simulink использует файлы MEX S-функции вместо того, чтобы встроить S-функцию при помощи Компилятора выходного языка (TLC).
C, C++
Задайте S-функцию для упорядоченной по столбцам генерации кода:
static void mdlInitializeSizes(SimStruct *S)
{
ssSetArrayLayoutForCodeGen(S, SS_COLUMN_MAJOR);
}Задайте S-функцию для упорядоченной по строкам генерации кода:
static void mdlInitializeSizes(SimStruct *S)
{
ssSetArrayLayoutForCodeGen(S, SS_ROW_MAJOR);
}Задайте S-функцию для упорядоченной по столбцам или упорядоченной по строкам генерации кода:
static void mdlInitializeSizes(SimStruct *S)
{
ssSetArrayLayoutForCodeGen(S, SS_ALL);
}Сгенерируйте упорядоченный по строкам код для S-функций (Simulink Coder)
Создайте S-функции автоматически Используя разработчика S-функции