exponenta event banner

setAlgorithmParameters

Установка параметров алгоритма для записи таблицы замены кода функции таблицы поиска

Описание

пример

setAlgorithmParameters(tableEntry, algParams) устанавливает параметры алгоритма для функции таблицы поиска, определенной в записи таблицы замены кода tableEntry.

Примеры

свернуть все

Создайте таблицу замены кода.

crTable = RTW.TflTable;

Создайте запись таблицы для функции.

tableEntry = RTW.TflCFunctionEntry;

Определите запись таблицы как запись для prelookup функция.

setTflCFunctionEntryParameters(tableEntry, ...
    'Key', 'prelookup', ...
    'Priority', 100, ...
    'ImplementationName', 'Ifx_DpSearch_u8');

Получение параметров алгоритма для prelookup запись таблицы функций.

algParams = getAlgorithmParameters(tableEntry)
algParams = 

  Prelookup with properties:

             ExtrapMethod: [1x1 coder.algorithm.parameter.ExtrapMethod]
                  RndMeth: [1x1 coder.algorithm.parameter.RndMeth]
        IndexSearchMethod: [1x1 coder.algorithm.parameter.IndexSearchMethod]
        UseLastBreakpoint: [1x1 coder.algorithm.parameter.UseLastBreakpoint]
    RemoveProtectionInput: [1x1 coder.algorithm.parameter.RemoveProtectionInput]

Отображение допустимых значений параметра UseLastBreakpoint для prelookup функция.

algParams.UseLastBreakpoint
ans = 

  UseLastBreakpoint with properties:

       Name: 'UseLastBreakpoint'
    Options: {'off'  'on'}
    Primary: 0
      Value: {'off'  'on'}

Отображение допустимых значений параметра RemoveProtectionInput для prelookup функция.

algParams.RemoveProtectionInput
ans = 

  RemoveProtectionInput with properties:

       Name: 'RemoveProtectionInput'
    Options: {'off'  'on'}
    Primary: 0
      Value: {'off'  'on'}

Задать параметры UseLastBreakpoint и RemoveProtectionInput кому on и offсоответственно.

algParams.UseLastBreakpoint = 'on';
algParams.RemoveProtectionInput = 'off';

При установке каждого параметра программное обеспечение параметра алгоритма проверяет и сообщает об ошибках для недопустимого синтаксиса, имен параметров и значений.

Обновите настройки параметров для записи таблицы замены кода.

setAlgorithmParameters(tableEntry, algParams);

Получение новых параметров алгоритма для prelookup запись таблицы функций.

algParams = getAlgorithmParameters(tableEntry);

Проверьте новое значение для UseLastBreakpoint.

algParams.UseLastBreakpoint
ans = 

  UseLastBreakpoint with properties:

       Name: 'UseLastBreakpoint'
    Options: {'off'  'on'}
    Primary: 0
      Value: {'on'}

Проверьте новое значение для RemoveProtectionInput.

algParams.RemoveProtectionInput
ans = 

  RemoveProtectionInput with properties:

       Name: 'RemoveProtectionInput'
    Options: {'off'  'on'}
    Primary: 0
      Value: {'off'}

Создайте таблицу замены кода.

crTable = RTW.TflTable;

Создайте запись таблицы для функции.

tableEntry = RTW.TflCFunctionEntry;

Определите запись таблицы как запись для lookup2D функция.

setTflCFunctionEntryParameters(tableEntry, ...
    'Key', 'lookup2D', ...
    'Priority', 100, ...
    'ImplementationName', 'myLookup2D');

Получение параметров алгоритма для lookup2D запись таблицы функций.

algParams = getAlgorithmParameters(tableEntry)
algParams = 

  Lookup with properties:

                 InterpMethod: [1x1 coder.algorithm.parameter.InterpMethod]
                 ExtrapMethod: [1x1 coder.algorithm.parameter.ExtrapMethod]
         UseRowMajorAlgorithm: [1x1 coder.algorithm.parameter.UseRowMajorAlgorithm]
                      RndMeth: [1x1 coder.algorithm.parameter.RndMeth]
            IndexSearchMethod: [1x1 coder.algorithm.parameter.IndexSearchMethod]
            UseLastTableValue: [1x1 coder.algorithm.parameter.UseLastTableValue]
        RemoveProtectionInput: [1x1 coder.algorithm.parameter.RemoveProtectionInput]
    SaturateOnIntegerOverflow: [1x1 coder.algorithm.parameter.SaturateOnIntegerOverflow]
      SupportTunableTableSize: [1x1 coder.algorithm.parameter.SupportTunableTableSize]
              BPPower2Spacing: [1x1 coder.algorithm.parameter.BPPower2Spacing]

Отображение допустимых значений для параметра алгоритма IndexSearchMethod для lookup2D функция.

algParams.IndexSearchMethod
ans = 

  IndexSearchMethod with properties:

       Name: 'IndexSearchMethod'
    Options: {'Linear search'  'Binary search'  'Evenly spaced points'}
    Primary: 0
      Value: {'Binary search'  'Evenly spaced points'  'Linear search'}

Задать параметр IndexSearchMethod кому Evenly spaced points.

algParams.IndexSearchMethod = 'Evenly spaced point';
Error using coder.algorithm.parameter.validateValue (line 58)
Invalid value '{Evenly spaced point}' for algorithm parameter
'coder.algorithm.parameter.IndexSearchMethod'. Valid values are '{Linear
search, Binary search, Evenly spaced points}'.

Error in coder.algorithm.parameter.AlgorithmParameter/set.Value (line 49)
            obj.Value = coder.algorithm.parameter.validateValue(obj, val);
            
Error in coder.algorithm.parameter.AlgorithmParameter/setAP (line 36)
                obj.Value = value;

Error in coder.algorithm.parameterset.Lookup/set.IndexSearchMethod (line 39)
            obj.IndexSearchMethod = obj.IndexSearchMethod.setAP(value);

Программа замены кода помечает "s«отсутствует в»points’.

Отрегулируйте настройку параметра.

algParams.IndexSearchMethod = 'Evenly spaced points';

Обновите настройки параметров для записи таблицы замены кода.

setAlgorithmParameters(tableEntry, algParams);

Получить обновленные параметры алгоритма для lookup2D запись таблицы функций.

algParams = getAlgorithmParameters(tableEntry);

Проверьте новое значение IndexSearchMethod.

algParams.IndexSearchMethod
ans = 

  IndexSearchMethod with properties:

       Name: 'IndexSearchMethod'
    Options: {'Linear search'  'Binary search'  'Evenly spaced points'}
    Primary: 0
      Value: {'Evenly spaced points'}

Входные аргументы

свернуть все

Ранее созданная запись таблицы замены кода представляет потенциальную замену кода для функции таблицы подстановки. Запись должна идентифицировать функцию таблицы поиска, для которой выполняется вызов setAlgorithmParameters.

  1. Создайте запись. Например, вызовите функцию RTW.TflCFunctionEntry.

    tableEntry = RTW.TflCFunctionEntry;

  2. Укажите имя функции таблицы подстановки, для которой была создана запись. Используйте Key параметр в вызове setTflCFunctionEntryParameters. Следующий вызов функции определяет функцию таблицы поиска prelookup.

    setTflCFunctionEntryParameters(tableEntry, ...
       'Key', 'prelookup', ...
       'Priority', 100, ...
       'ImplementationName', 'Ifx_DpSearch_u8'); 

Параметры алгоритма для функции таблицы поиска, идентифицированной с помощью Key параметр в tableEntry.

Представлен в R2015a