Этот пример показывает, как задать заменяющее отображение кода для математической функции. Пример задает отображение для функции sin
программно. Также можно использовать Code Replacement Tool, чтобы задать то же отображение.
Создайте табличный файл определения, который содержит функциональное определение. Например:
function hTable = crl_table_sinfcn2() %CRL_TABLE_SINFCN2 - Define function entry for code replacement table.
В теле функции составьте таблицу путем вызова функционального RTW.TflTable
.
hTable = RTW.TflTable;
Создайте запись для отображения функции с вызовом функции RTW.TflCFunctionEntry
.
% Create entry for sin function replacement
fcn_entry = RTW.TflCFunctionEntry;
Параметры записи функции множества с вызовом функции setTflCFunctionEntryParameters
.
setTflCFunctionEntryParameters(fcn_entry, ... 'Key', 'sin', ... 'Priority', 30, ... 'ImplementationName', 'mySin', ... 'ImplementationHeaderFile', 'basicMath.h',... 'ImplementationSourceFile', 'basicMath.c');
Создайте концептуальные аргументы y1
и u1
. Существует несколько способов настроить концептуальные аргументы. Этот пример использует вызовы функции createAndAddConceptualArg
, чтобы создать и добавить аргумент с одним вызовом функции.
createAndAddConceptualArg(fcn_entry, 'RTW.TflArgNumeric', ... 'Name', 'y1',... 'IOType', 'RTW_IO_OUTPUT',... 'DataTypeMode', 'double'); createAndAddConceptualArg(fcn_entry, 'RTW.TflArgNumeric', ... 'Name', 'u1', ... 'IOType', 'RTW_IO_INPUT',... 'DataTypeMode', 'double');
Скопируйте концептуальные аргументы в аргументы реализации. Существует несколько способов настроить аргументы реализации. Этот пример использует вызов функции copyConceptualArgsToImplementation
, чтобы создать и добавить аргументы реализации в запись путем копирования соответствия с концептуальными аргументами.
copyConceptualArgsToImplementation(fcn_entry);
Добавьте запись в заменяющую таблицу кода с вызовом функции addEntry
.
addEntry(hTable, fcn_entry);
Сохраните табличный файл определения. Используйте имя табличной функции определения, чтобы назвать файл.