addAlgorithmProperty

Добавьте свойства алгоритма для заменяющей записи таблицы кода

Синтаксис

addAlgorithmProperty(hEntry, name-value)

Аргументы

hEntry

Обработайте к заменяющей записи таблицы кода, ранее возвращенной путем инстанцирования заменяющего класса записи кода, такого как hEntry = RTW.TflCFunctionEntry или hEntry = RTW.TflCOperationEntry.

name-value

Свойство Algorithm, заданное как пара, разделенная запятой, состоящая из имени свойства алгоритма и одного или нескольких значений алгоритма. Задайте несколько значений как массив ячеек из символьных векторов.

ИмяЗначения
'BPPower2Spacing''off' |'on'
'ExtrapMethod''Clip' | 'Linear'
'IndexSearchMethod''Evenly spaced points' | 'Linear search' | 'Binary search'
'InterpMethod' 'Linear point-slope' | 'Linear Lagrange' | 'Flat' |'Nearest'
'RemoveProtectionInput''off' | 'on'
'RndMeth''Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
'SaturateOnIntegerOverflow''off' | 'on'
'SupportTunableTableSize''off' | 'on'
'UseLastTableValue''off' | 'on'
'UseRowMajorAlgorithm''off' | 'on'

Описание

Функция addAlgorithmProperty добавляет настройки свойства алгоритма в концептуальное представление заменяющей записи таблицы кода. Например, используйте эту функцию, чтобы настроить алгоритмы, примененные функциями интерполяционной таблицы.

Примеры

В следующем примере функция addAlgorithmProperty конфигурирует генератор кода, чтобы применить следующие методы когда заменяющий код для функции lookup1D:

  • Отсеките экстраполяцию

  • Линейная интерполяция

  • Бинарный или линейный поиск по индексу

hLib = RTW.TflTable;

hEnt = RTW.TflCFunctionEntry;
hEnt.setTflCFunctionEntryParameters( ...
                    'Key',                      'lookup1D', ...
                    'Priority',                 100, ...
                    'ImplementationName',       'my_Lookup1D_Repl', ...
                    'ImplementationHeaderFile', 'my_Lookup1D.h', ...
                    'ImplementationSourceFile', 'my_Lookup1D.c', ...
                    'GenCallback', 'RTW.copyFileToBuildDir');

arg = hEnt.getTflArgFromString('y1','double');
arg.IOType = 'RTW_IO_OUTPUT';
hEnt.addConceptualArg(arg);

arg = hEnt.getTflArgFromString('u1','double');
hEnt.addConceptualArg(arg);

arg = RTW.TflArgMatrix('u2','RTW_IO_INPUT','double');
arg.DimRange = [0 0; Inf Inf];
hEnt.addConceptualArg(arg);

arg = RTW.TflArgMatrix('u3', 'RTW_IO_INPUT', 'double');
arg.DimRange = [0 0; Inf Inf];
hEnt.addConceptualArg(arg);

hEnt.addAlgorithmProperty('ExtrapMethod', 'Clip');
hEnt.addAlgorithmProperty('InterpMethod', 'Linear point-slope');
hEnt.addAlgorithmProperty('IndexSearchMethod', 'Linear search');

Введенный в R2014b