Сверните выражения в константы в сгенерированном коде
оценивает 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 с Внешними Вызовами функции.
Если coder.const
неспособно к постоянному сгибу вызов функции, попытайтесь обеспечить сворачивание констант путем создания значения внешних параметров вызова функции. Внешний вызов функции вызывает оценку вызова функции MATLAB вместо генератором кода. Например:
function yi = fcn(xi) y = coder.const(feval('rand',1,100)); yi = interp1(y,xi); end
Смотрите Использование coder.const с Внешними Вызовами функции.