主要内容

连接c++运行MATLAB会话

您可以连接共享MATLAB c++引擎®在本地机器上运行的会话。连接到一个共享的MATLAB会话:

如果你不指定共享会话当调用MATLAB的名字matlab:引擎::connectMATLABmatlab:引擎::connectMATLABAsync,第一共享MATLAB引擎使用会话创建。如果没有可用MATLAB会话共享,MATLAB引擎创建一个共享会话和连接到此会话。

如何设置和信息构建c++引擎项目,明白了构建c++引擎项目

连接到共享MATLAB

此示例代码连接到第一个共享MATLAB会话。

# include“MatlabEngine.hpp”
空白syncConnect(){使用名称空间matlab::引擎;/ /连接到共享MATLAB会话std:: unique_ptr < MATLABEngine > matlabPtr = connectMATLAB ();}

连接到共享MATLAB异步

此示例代码连接到第一个共享MATLAB异步会话发现。

# include“MatlabEngine.hpp”
空白asyncConnect(){使用名称空间matlab::引擎;/ /找到并连接到共享MATLAB会话FutureResult < std:: unique_ptr < MATLABEngine > > futureMATLAB = connectMATLABAsync ();…std:: unique_ptr < MATLABEngine > matlabPtr = futureMATLAB.get ();}

指定名称的共享会话

您可以指定共享的名称MATLAB会话时执行matlab.engine.shareEngineMATLAB函数。这样就不需要使用matlab:引擎::findMATLABmatlab:引擎::findMATLABAsync找到这个名字。

例如,开始用MATLAB和名称共享会话myMatlabEngine

matlab - r”matlab.engine.shareEngine (myMatlabEngine)”

此示例代码连接到MATLAB会话命名myMatlabEngine从c++。

请注意

启动名为MATLAB会话连接从c++代码之前。

# include“MatlabEngine.hpp”
空白connectToML(){使用名称空间matlab::引擎;/ /连接到命名共享MATLAB会话开始:/ / MATLAB - r”matlab.engine.shareEngine (myMatlabEngine)“std:: unique_ptr < MATLABEngine > matlabPtr = connectMATLAB (u“myMatlabEngine”);}

找到并连接到指定的共享会话

连接到一个名为MATLAB共享会话,使用matlab:引擎::findMATLABmatlab:引擎::findMATLABAsync找到所有可用的名字命名MATLAB共享会话。

此示例代码试图找到一个MATLAB共享会话命名myMatlabEngine如果发现会话连接。

空白findNConnect(){使用名称空间matlab::引擎;/ /找到并连接到共享MATLAB会话std:: unique_ptr < MATLABEngine > matlabPtr;std::向量<字符串>名称= findMATLAB ();std::向量<字符串>::迭代器;它= std::找到(names.begin (), names.end (), u“myMatlabEngine”);如果(它! = names.end ()) {matlabPtr = connectMATLAB (*);}/ /确定如果引擎连接(matlabPtr) {matlab::数据::ArrayFactory工厂;matlab::数据::CharArray arg = factory.createCharArray(“释放”);matlab::数据::CharArray version = matlabPtr - >函数宏指令(u“版本”,arg);std:: cout < <”连接到:“< < version.toAscii () < < std:: endl; } else { std::cout << "myMatlabEngine not found" << std::endl; } }

另请参阅

||||

相关的话题