Тип MATLAB workspace
Класс Enum matlab::engine::WorkspaceType задает рабочую область MATLAB®, чтобы передать переменные или получить переменные от.
BASE | Переменные ограничены по объему к базовому рабочему пространству MATLAB (командная строка и нефункциональные скрипты) |
Глобальная переменная | Переменные ограничены по объему к глобальной рабочей области MATLAB (командная строка, функции и скрипты) |
MATLAB определяет объем переменных рабочей областью. Переменные, которые ограничены по объему к базовому рабочему пространству, должны быть переданы функциям в качестве аргументов. К переменным, ограниченным по объему к глобальной рабочей области, может получить доступ любая функция, которая задает определенное имя переменной как глобальную переменную.
|
Пространство имен: | mATLABEngine |
| Включение | 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);
}