主要内容

matlab::engine::WorkspaceType

MATLAB 工作区的类型

描述

matlab::engine::WorkspaceType 枚举类指定要向其传递变量或从中获取变量的 MATLAB® 工作区。

BASE限定作用域为 MATLAB 基础工作区(命令行和非函数脚本)的变量
GLOBAL限定作用域为 MATLAB 全局工作区(命令行、函数和脚本)的变量

MATLAB 按工作区限定变量作用域。限定作用域为基础工作区的变量必须作为参量传递给函数。限定作用域为全局工作区的变量可以被任何将特定变量名称定义为全局变量的函数访问。

类详细信息

命名空间:

matlab::engine
包括:MatlabEngine.hpp

示例

此示例:

  • 连接到共享 MATLAB 会话

  • 创建包含双精度类型数值的 matlab::data::Array

  • 将数组放入 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 中推出