coder.OutputType

Выходной тип из функции точки входа для задания в качестве входного типа

Описание

A coder.OutputType объект представляет тип выходной переменной функции точки входа. Использование coder.OutputType чтобы задать вход для другой функции точки входа. Передайте вход при помощи codegen -args опция. Не сдавать coder.OutputType объект как вход в сгенерированную MEX-функцию.

Создание

Описание

пример

Примечание

Можно также создать coder.OutputType объект в интерактивном режиме при помощи редактора типов кодеров. См. «Создание и редактирование входных типов при помощи редактора типов кодеров».

t = coder.OutputType(func) создает объект, который получают из coder.OutputType класс, чтобы представлять первый выход функции точки входа func.

t = coder.OutputType(func,n) создает объект, который получают из coder.OutputType класс, для представления n-й выход функции точки входа func.

Входные параметры

расширить все

Имя функции точки входа, из которой можно задать тип выхода.

Пример: coder.OutputType('myConstructor')

Индекс, который указывает на n-ая выходная переменная соответствующей функции точки входа.

Пример: coder.OutputType('myFnWithTwoOutputs',1)

Пример: coder.OutputType('myFnWithTwoOutputs',2)

Свойства

расширить все

Имя функции точки входа, из которой получен выходной тип.

Индекс выхода функции точки входа, из которого получен тип выхода.

Примеры

свернуть все

Предположим, что у вас есть функция useString который предназначен для работы со строковым входом переменного размера. Напишите функцию конструктора для строки переменного размера. Передайте выход как вход в useString при помощи coder.OutputType.

Написание MATLAB® функциональные useString который выполняет операции с входом строкой.

function y = useString(x)
%#codegen
y = replace(x,"be","not be");
end

Чтобы создать вход переменного размера, запишите функцию конструктора.

function str = myConstructor(charArr)
%#codegen
str = string(charArr);

Чтобы сгенерировать код, задайте тип входа для функции конструкции. Объявите вектор символов переменного размера при помощи coder.typeof. Использование coder.OutputType чтобы представлять тип выхода функции конструктора как тип входа для функции строки операции.

% get type of var-size char array bounded as 1-by-100
t = coder.typeof('a', [1 100], [0 1]); 
% get output type
v = coder.OutputType('myConstructor');
% generate MEX function
codegen myConstructor -args {t} useString -args {v} -report -config:mex

Протестируйте сгенерированный код, вызвав MEX-функцию в MATLAB:

a = myConstructor_mex('myConstructor','To be, or not to be.')
b = myConstructor_mex('useString',a)
a = 
    "To be, or not to be."
b = 
    "To not be, or not to not be."

Ограничения

  • Вы не можете использовать coder.OutputType в поле структуры, камеры или массива.

Введенный в R2018b