Создать объект конфигурации замены функций
создает объект конфигурации замены функции для использования при создании кода или преобразовании с фиксированной точкой. Объект конфигурации определяет способ создания аппроксимации таблицы подстановки для функции MATLAB ®, указанной вq = coder.approximation(function_name)function_name. Чтобы связать это приближение с coder.FixptConfig для использования сcodegen , используйте coder.FixptConfig объект конфигурации addApproximation способ.
Используйте этот синтаксис только для функций, которые coder.approximation может заменяться автоматически. Эти функции перечислены в function_name описание аргумента.
log Функция с таблицей подстановки по умолчаниюСоздайте объект конфигурации замены функции с помощью настроек по умолчанию. В результирующей таблице поиска в сгенерированном коде используется 1000 точек.
logAppx = coder.approximation('log'); log Функция с единой таблицей подстановкиСоздайте объект конфигурации замены функции. Укажите диапазон ввода и префикс для добавления к имени замещающей функции. В результирующей таблице поиска в сгенерированном коде используется 1000 точек.
logAppx = coder.approximation('Function','log','InputRange',[0.1,1000],... 'FunctionNamePrefix','log_replace_');
log Функция с оптимизированной таблицей подстановкиСоздайте объект конфигурации замены функции с помощью 'OptimizeLUTSize' для указания замены log с оптимизированной таблицей подстановки. Результирующая таблица подстановки в сгенерированном коде использует меньше, чем количество точек по умолчанию.
logAppx = coder.approximation('Function','log','OptimizeLUTSize', true,... 'InputRange',[0.1,1000],'InterpolationDegree',1,'ErrorThreshold',1e-3,... 'FunctionNamePrefix','log_optim_','OptimizeIterations',25);
Создайте объект конфигурации замены функции, который определяет замену пользовательской функции. saturateExp, с оптимизированной таблицей подстановки.
Создайте пользовательскую функцию, saturateExp.
saturateExp = @(x) 1/(1+exp(-x));
Создайте объект конфигурации замены функции, который определяет замену saturateExp с оптимизированной таблицей подстановки. Потому что saturateExp функция не указана как функция, для которой coder.approximation может генерировать аппроксимацию автоматически, необходимо указать CandidateFunction собственность.
saturateExp = @(x) 1/(1+exp(-x)); custAppx = coder.approximation('Function','saturateExp',... 'CandidateFunction', saturateExp,... 'NumberOfPoints',50,'InputRange',[0,10]);
function_name - Наименование заменяемой функции'acos' | 'acosd' | 'acosh' | 'acoth' | 'asin' | 'asind' | 'asinh' | 'atan' | 'atand' | 'atanh' | 'cos' | 'cosd' | 'cosh' | 'erf ' | 'erfc' | 'exp' | 'log' | 'normcdf' | 'reallog' | 'realsqrt' | 'reciprocal' | 'rsqrt' | 'sin' | 'sinc' | 'sind' | 'sinh' | 'sqrt' | 'tan' | 'tand'Имя заменяемой функции, указанное как строка. Функция должна быть одной из перечисленных функций.
Пример: 'sqrt'
Типы данных: char
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Function', 'log''Architecture' - Архитектура аппроксимации таблицы поиска'LookupTable' (по умолчанию) | 'Flat'Архитектура аппроксимации таблицы подстановки, определяемая как разделенная запятыми пара, состоящая из 'Architecture' и струна. Этот аргумент используется для задания архитектуры таблицы подстановки. Flat архитектура не использует интерполяцию.
Типы данных: char
'CandidateFunction' - Функциональная ручка функции заменыДескриптор функции замены, указанный как разделенная запятыми пара, состоящая из 'CandidateFunction' и дескриптор функции или строку, относящуюся к дескриптору функции. Используйте этот аргумент, если функция, которую требуется заменить, не указана в списке function_name. Укажите дескриптор функции или строку, ссылающуюся на дескриптор функции, которую требуется заменить. Функцию можно определить в файле или как анонимную функцию.
Если функция-кандидат не указана, то выбранная для замены функция будет использоваться Function установлено в качестве свойства CandidateFunction.
Пример: 'CandidateFunction', @(x) (1./(1+x))
Типы данных: function_handle | char
'ErrorThreshold' - Пороговое значение ошибки, используемое для расчета оптимального размера таблицы поискаПороговое значение ошибки, используемое для вычисления оптимального размера таблицы подстановки, указанного как пара, разделенная запятыми, состоящая из 'ErrorThreshold' и неотрицательный скаляр. Если 'OptimizeLUTSize' является true, этот аргумент является обязательным.
'Function' - имя функции, заменяемой аппроксимацией таблицы подстановки;function_nameИмя функции, заменяемой аппроксимацией таблицы подстановки, указанной как пара, разделенная запятыми, состоящая из 'Function' и струна. Функция должна быть непрерывной и без гражданства. Если указать одну из функций, перечисленных в function_nameпроцесс преобразования автоматически обеспечивает функцию замены. В противном случае необходимо также указать 'CandidateFunction' аргумент для функции, которую требуется заменить.
Пример: 'Function','log'
Пример: 'Function', 'my_log','CandidateFunction',@my_log
Типы данных: char
'FunctionNamePrefix' - Префикс для сгенерированных имен функций с фиксированной точкойПрефикс для сгенерированных имен функций с фиксированной точкой, указанный как пара, разделенная запятыми, состоящая из 'FunctionNamePrefix' и струна. Имя созданной функции состоит из этого префикса, за которым следует исходное имя функции MATLAB.
Пример: «log_replace_»
'InputRange' - Диапазон замены функции[ ] (по умолчанию) | 2x1 вектор строки | 2xN матрица Диапазон, в котором следует заменить функцию, указанный как разделенная запятыми пара, состоящая из 'InputRange' и вектор строки 2 на 1 или 2-by-N матрицу.
Пример: [-1 1]
'InterpolationDegree' - Степень интерполяции1 (по умолчанию) | 0 | 2 | 3Степень интерполяции, указанная как разделенная запятыми пара, состоящая из 'InterpolationDegree' и1 (линейный), 0 Ничего, 2 (квадратичный), или 3 (кубический).
'NumberOfPoints' - Количество точек в таблице поиска1000 (по умолчанию) | положительное целое числоКоличество точек в таблице подстановки, указанное как разделенная запятыми пара, состоящая из 'NumberOfPoints' и положительное целое число.
'OptimizeIterations' - количество итераций;Число итераций, выполняемых при оптимизации размера таблицы подстановки, указанной как пара, разделенная запятыми, состоящая из 'OptimizeIterations' и положительное целое число.
'OptimizeLUTSize' - Оптимизировать размер таблицы подстановкиfalse (по умолчанию) | trueОптимизировать размер таблицы подстановки, указанный как разделенная запятыми пара, состоящая из 'OptimizeLUTSize' и логическое значение. Установка для этого свойства значения true создает таблицу поиска с оптимальной площадью, то есть таблицу поиска с минимально возможным количеством точек. Эта таблица подстановки оптимизирована для размера, но может оказаться неэффективной.
'PipelinedArchitecture' - Возможность включения конвейерной обработкиfalse (по умолчанию) | trueОпция для включения конвейерной обработки, заданная как разделенная запятыми пара, состоящая из 'PipelinedArchitecture' и логическое значение.
q - объект конфигурации замены функции, возвращаемый как coder.mathfcngenerator.LookupTable или coder.mathfcngenerator.Flat объект конфигурацииcoder.mathfcngenerator.LookupTable объект конфигурации | coder.mathfcngenerator.Flat объект конфигурацииОбъект конфигурации замены функции. Используйте coder.FixptConfig объект конфигурации addApproximation метод для связывания этого объекта конфигурации с coder.FixptConfig объект. Затем используйте codegen функция -float2fixed вариант с coder.FixptConfig преобразование кода MATLAB с плавающей запятой в код с фиксированной запятой.
| Собственность | Значение по умолчанию |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.