Создайте объект строения замены функций
создает объект строения замены функций для использования во время генерации кода или преобразования с фиксированной точкой. Объект строения задает, как создать приближение интерполяционной таблицы для MATLAB® функция, заданная q = coder.approximation(function_name)function_name. Чтобы связать это приближение с coder.FixptConfig объект для использования сfiaccel function, использовать 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' и строку. Используйте этот аргумент, когда хотите задать архитектуру для интерполяционной таблицы. The 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 или матрица- N 2 на байт.
Пример: [-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 объект строенияОбъект строения замены функции, который задает, как создать приближение для функции MATLAB. Используйте coder.FixptConfig объект строения addApproximation метод для связи этого объекта строения с coder.FixptConfig объект. Затем используйте fiaccel функциональные -float2fixed опция с coder.FixptConfig для преобразования кода MATLAB с плавающей точкой в код MATLAB с фиксированной точкой.
| Свойство | Значение по умолчанию |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.