matlab::engine::WorkspaceType

Тип рабочего пространства MATLAB

Описание

matlab::engine::WorkspaceType класс Enum задает рабочую область MATLAB®, чтобы передать переменные или получить переменные из.

BASEПеременные ограничены по объему к базовому рабочему пространству MATLAB (командная строка и нефункциональные скрипты)
GLOBALПеременные ограничены по объему к глобальной рабочей области MATLAB (командная строка, функции и скрипты)

MATLAB определяет объем переменных рабочей областью. Переменные, которые ограничены по объему к базовому рабочему пространству, должны быть переданы функциям в качестве аргументов. К переменным, ограниченным по объему к глобальной рабочей области, может получить доступ любая функция, которая задает определенное имя переменной как глобальную переменную.

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

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

matlab::engine
ВключениеMatlabEngine.hpp

Примеры

Этот пример:

  • Подключения к разделяемому сеансу работы с MATLAB

  • Создает matlab::data::Array содержа числовые значения, типа double

  • Помещает массив в глобальную рабочую область MATLAB

#include "MatlabDataArray.hpp"
#include "MatlabEngine.hpp"
#include <iostream>

static void putGlobalVar() {

    using namespace matlab::engine;

    // Connect to named shared MATLAB session started as:
    // matlab -r "matlab.engine.shareEngine('myMatlabEngine')"
    String session(u"myMatlabEngine");
    std::unique_ptr<MATLABEngine> matlabPtr = connectMATLAB(session);

    // Create matlab data array factory
    matlab::data::ArrayFactory factory;

    // Create data variable
    matlab::data::Array data = factory.createArray<double>
        ({ 1, 5 }, { 4.0, 11.0, 4.7, 36.2, 72.3 });

    // Put data variable in MATLAB global workspace
    matlabPtr->setVariable(u"data", data, WorkspaceType::GLOBAL);
}

Введенный в R2017b