Можно задать буферное повторное использование через блоки MATLAB function при помощи того же имени переменной для аргументов ввода и вывода. Генератор кода пытается снова использовать выход одного блока MATLAB function как вход к следующему блоку MATLAB function. Эта оптимизация сохраняет RAM и потребление ROM и уменьшает копии данных.
Используйте Inport, Выходной порт и блоки MATLAB function, чтобы создать модель mf_inplace.

Откройте каждый блок MATLAB function и скопируйте следующий код:
function y = fcn(y) %#codegen y=y+4;
Откройте диалоговое окно Configuration Parameters. На вкладке Code Generation измените System target file в ert.tlc.
На вкладке Solver измените параметр Type в Fixed-step.
Сгенерируйте код для модели. mf_inplace.c файл содержит этот код:
void mf_inplace_MATLABFunction(real_T *rty_y)
{
*rty_y += 4.0;
}
void mf_inplace_step(void)
{
real_T rtb_y_p5;
rtb_y_p5 = mf_inplace_U.In1;
mf_inplace_MATLABFunction(&rtb_y_p5);
mf_inplace_MATLABFunction(&rtb_y_p5);
mf_inplace_MATLABFunction(&rtb_y_p5);
mf_inplace_Y.Out1 = rtb_y_p5;
mf_inplace_MATLABFunction(&mf_inplace_Y.Out1);
}
rtb_y_p5 для аргументов ввода и вывода каждого блока MATLAB function.Примечание
На вкладке Code Generation в диалоговом окне Subsystem Block Parameters, если параметр Function packaging устанавливается на Nonreusable function и параметр Function interface устанавливается на Allow arguments (Optimized), генератор кода не может снова использовать аргументы ввода и вывода.