Сверните выражения в константы в сгенерированном коде
оценивает out
= coder.const(expression
)expression
и замены out
результатом оценки в сгенерированном коде.
[
оценивает мультивыходную функцию, имеющую указатель out1,...,outN
] = coder.const(handle
,arg1,...,argN
)handle
. Это затем заменяет out1,...,outN
результатами оценки в сгенерированном коде.
Когда возможно, выражения постоянных сгибов генератора кода автоматически. Как правило, автоматическое сворачивание констант происходит для выражений со скалярами только. Используйте coder.const
когда генератор кода не делает выражений постоянного сгиба самостоятельно.
Когда сворачивание констант в вычислительном отношении интенсивные вызовы функции, чтобы уменьшать время генерации кода, делает значение внешних параметров вызова функции. Внешний вызов функции вызывает оценку вызова функции MATLAB вместо генератором кода. Например:
function j = fcn(z) zTable = coder.const(0:0.01:100); jTable = coder.const(feval('besselj',3,zTable)); j = interp1(zTable,jTable,z); end
Смотрите Использование coder.const с Внешними Вызовами функции (MATLAB Coder).
Если coder.const
неспособно к постоянному сгибу вызов функции, попытайтесь обеспечить сворачивание констант путем создания значения внешних параметров вызова функции. Внешний вызов функции вызывает оценку вызова функции MATLAB вместо генератором кода. Например:
function yi = fcn(xi) y = coder.const(feval('rand',1,100)); yi = interp1(y,xi); end
Смотрите Использование coder.const с Внешними Вызовами функции (MATLAB Coder).