如何通过一个向量<飘> (1 d)从c++ MATLAB绘图吗?

7视图(30天)
我有一些麻烦与MATLAB数据数组创建一个c++环境组成的数据从一个向量<飘>(维)——我不需要使用这个数据在MATLAB本身没有处理,在这种情况下我只是使用它的策划能力。
到目前为止,我知道你可以使用createArray(称为一个arrayFactory对象)来创建一个MATLAB数组,但这只接受一个initializer_list作为参数,而不是一个动态数组。
对于一些上下文,一旦一个可行的数组在MATLAB我计划使用eval函数绘制它直接从c++环境。

答案(1)

Uday普拉丹
Uday普拉丹 2020年9月7日
嗨Angad,
您可以使用与c++ createArray向量迭代器。请参考这个 链接 为更多的细节。我已经创建了一个很小的例子如何使用c++双打在MATLAB和情节本身的向量。
#包括< iostream >
#包括“MatlabDataArray.hpp”
#包括“MatlabEngine.hpp”
intmain ()
{
使用名称空间matlab::引擎;
std:: unique_ptr < MATLABEngine > matlabPtr = startMATLAB ();
/ /创建MATLAB数据数组工厂
matlab::数据::ArrayFactory工厂;
std::向量vec(4) <双>;
vec [0] = 1.0, vec [1] = 2.0, vec [2] = -9.2, vec [3] = -0.9;
int昏暗= vec.size ();
matlab::数据::TypedArray <双> const argArray = factory.createArray({1,昏暗的},vec.begin (), vec.end ());
matlabPtr - >函数宏指令(u“阴谋”,argArray);
返回0;
}
希望这可以帮助!

s manbetx 845


释放

R2020a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!