mATLAB:: mEX::

Контейнер для вводов и выводов от MEX-функций C++

Описание

MEX-функции C++ передают вводы и выводы как объекты matlab::data::Array, содержавшиеся в объектах matlab::mex::ArgumentList. MexFunction::operator(), принимает два аргумента. Один для входных параметров и один для выходных параметров, заданных как matlab::mex::ArgumentList.

ArgumentList является оберткой для начальных и конечных итераторов для базовых наборов, содержащих входные и выходные данные.

Информация о классе

Пространство имен:

matlab::mex

Включение:

mex.hpp

Функции членства

оператор

matlab::data::Array operator[](size_t idx)

Включает индексацию [] в элементы ArgumentList.

Параметры

size_t idx

Индексируйте в элементы входного массива, которые являются входными параметрами к MEX-функции

Возвращается

matlab::data::Array

Итератор, указывающий на первый элемент в массиве ArgumentList

Примеры

Вызовите MEX-функцию от MATLAB® с массивом, скаляром и вектором символов как входные параметры и один вывод:

a = myMEXFunction(array, scalar, 'character vector')

Присвойте первый входной параметр TypedArray, второй вход к скалярному const double (примите, что оба имеют тип double в MATLAB), и третий вход как matlab::data::CharArray.

void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    matlab::data::TypedArray<double> inArray = inputs[0];
    const double inScalar = inputs[1][0];
    matlab::data::CharArray inChar = inputs[2];
    result = ...
    outputs[0] = result;
}

начало

iterator_type begin()

Возвращает итератор, указывающий на первый элемент в массиве ArgumentList.

Возвращается

iterator_type

Итератор, указывающий на первый элемент в массиве ArgumentList

Примеры

Создайте вектор из входных параметров.

void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    std::vector<matlab::data::TypedArray<double>> vectorDoubles(inputs.begin(), inputs.end());
    ...
}

конец

iterator_type end()

Возвращает обращение итератора мимо последнего элемента в массиве ArgumentList.

Возвращается

iterator_type

Обращение итератора мимо последнего элемента в массиве ArgumentList

размер

size_t numArgs size()

Возвращает число элементов в списке аргументов. Используйте, чтобы проверять количество вводов и выводов, заданных на сайте вызова.

Возвращается

size_t

Размер массива ArgumentList

Примеры

Определите, вызвана ли MEX-функция тремя входными параметрами.

class MexFunction : public matlab::mex::Function {
public:
    void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    if (inputs.size() == 3) {
        // MEX function called with three input arguments
        ...
    }
}

пустой

bool empty()

Возвращает логическое значение, указывающее, пуст ли список аргументов.

Возвращается

bool

Возвращает логический true, если список аргументов пуст (size() == 0)

Примеры

Определите, называется ли MEX-функция без входных параметров.

class MexFunction : public matlab::mex::Function {
public:
    void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    if (inputs.empty()) {
        // MEX function called with no input arguments
        ...
    }
}

Введенный в R2018a

Для просмотра документации необходимо авторизоваться на сайте