Добавьте свойства алгоритма для заменяющей записи таблицы кода
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');