кодер. 'OutputType'

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

Описание

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

Создание

Синтаксис

t = coder.OutputType(func)
t = coder.OutputType(func,n)

Описание

пример

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