coder.OutputType

Выведите тип от функции точки входа, чтобы задать как входной тип

Описание

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

Создание

Описание

пример

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

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

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

развернуть все

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

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

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

Пример: 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