このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
c++用のmatlab®エンジンAPIを使用すると,c++プログラムはMATLABの同期的または非同期的な操作を行えるようになります。サポ,トされている操作は,以下のとおりです。
Matlabを起動します。
ロカルマシンの共有matlabセッションに同期的に接続する。
c++から渡される入力引数とMATLABから返される出力変数を使ってMATLAB関数を呼び出す。
MatlabベスワクスペスでMatlabステトメントを評価する。
変数をc++からmatlab,およびmatlabからc++に渡す。
c++用のmatlabエンジンAPIはmatlab製品に含まれています。完全なAPIにいては,c++エンジンAPIを参照してください。
c++用のMATLABエンジンAPIは一連のc++ヘッダーファイルとCランタイム共有ライブラリから構成されています。名前空間matlab:发动机
にはいくc++クラスのセットが含まれています。
ビルドおよびランタイム環境を設定して,c++用のMATLABエンジンAPIの使用を開始します。サポトされているコンパラがンストルされていることを必ず確認してください。MATLAB墨西哥人
コマンドを使用して環境をセットアップし,c++アプリケションをビルドします。IDEを構成して,エンジンAPIを使用するc++アプリケーションをビルドすることもできます。この操作方法の詳細にいては,c++エンジンプログラムのビルドを参照してください。
エンジンAPIでは,matlabデ,タAPIの使用がサポ,トされています。このAPIにより,MATLAB外で実行されているアプリケーションでMATLABデータを使用できるようになります。このAPIの詳細にいては,Matlabデ,タAPIを参照してください。
MATLABコマンドの実行に使用される基本要素を示す簡単なc++エンジンコードは,以下のとおりです。このコ,ドでは,デ,タ配列のベクトルをmatlab関数movsum
に渡して結果を返します。このc++コドの実行は,matlabの以下のステトメントと等価です。
A = [4 8 6 -1 -2 -3 -1 3 4 5];M = movsum(A,3,“端点”,“丢弃”);
MatlabエンジンとMatlabデタ配列のヘッダファルを追加します。
#include“matlabdata .hpp”
Matlabセッションを開始し,转换器转换器转换器セッションを開始し,转换器转换器转换器を取得します。
std::unique_ptrmatlabPtr = startMATLAB();
MATLABデタ配列factoryを作成してmatlab:引擎::MATLABEngine
のメンバ,関数で使用されるデ,タ型を作成します。
matlab::数据::ArrayFactory工厂;
Matlab関数への入力引数に対するMatlabデ,タ配列のベクトルを定義します。それぞれの引数はベクトルの配列です。
//为参数std::vector< MATLAB::data::Array> args({factory. Array)创建一个MATLAB数据数组向量。createArray({1,10}, {4,8,6, -1, -2, -3, - 1,3,4,5}), factory.createScalar (3), factory.createCharArray("Endpoints"), factory.createCharArray("discard")});
メンバ,関数MATLABEngine:函数宏指令
を使用してmatlab関数movsum
を呼び出します。返された結果を適切な型のmatlabデ,タ配列として定義します。
//用参数调用MATLAB函数并返回结果MATLAB::data::TypedArrayresult = matlabPtr->feval(u"movsum", args);
matlab:引擎::MATLABEngine
|matlab:: data:: ArrayFactory