кодер. '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.

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

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

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

Пример: кодер. OutputType ('myConstructor')

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

Пример: кодер. OutputType ('myFnWithTwoOutputs', 1)

Пример: кодер. OutputType ('myFnWithTwoOutputs', 2)

Свойства

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

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

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

Примеры

свернуть все

Предположим, что у вас есть функциональный useString, который предназначается, чтобы работать с входным параметром строки переменного размера. Запишите функцию конструктора для строки переменного размера. Передайте вывод как входной параметр к useString при помощи coder.OutputType '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

Была ли эта тема полезной?