matlab::engine::WorkspaceType
MATLAB ワークスペースのタイプ
説明
matlab::engine::WorkspaceType
enum クラスは、変数の受け渡しをする MATLAB® ワークスペースを指定します。
BASE | MATLAB ベース ワークスペース (コマンド ライン、および関数以外のスクリプト) のスコープ内にある変数 |
GLOBAL | MATLAB グローバル ワークスペース (コマンド ライン、関数、およびスクリプト) のスコープ内にある変数 |
MATLAB はワークスペース別に変数をスコープに収めます。ベース ワークスペースのスコープに含まれる変数は、引数として関数に渡さなければなりません。グローバル ワークスペースのスコープに含まれる変数は、特定の変数名をグローバルとして定義するすべての関数によってアクセスできます。
クラスの詳細
名前空間: | matlab::engine |
インクルード | MatlabEngine.hpp |
例
ここでの例では、
共有 MATLAB セッションに接続します。
double 型の数値を含む
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 で導入