c++ - 获得 Matlab <-> C++ 接口(interface)的最佳方法

标签 c++ matlab interface

<分区>

我有一个 C++ Windows 程序,我想在现有的 Matlab 程序中转换和可视化来自这个 C++ 应用程序的一些数据。

目前我正在将 C++ 应用程序中的数据写入文件。同时,Matlab 应用程序读取文件并处理数据。 (轮询)它基本上可以工作,但是当数据负载变高时,我会遇到性能问题。

在这些程序之间传输数据的最佳解决方案是什么?我在想一种消息队列或套接字接口(interface)。

最佳答案

Use the Matlab API将数据从 C++ 发送到 Matlab,然后对其执行绘图命令。 粗略地执行以下操作——没有错误检查,但要点就在那里:

#include <engine.h>
//open the engine
Engine *m_engine;
m_engine = engOpen("\0");

//put our data
//pretend this is a 2 column, n row matrix, so we can do a 2D plot
mxArray* mx = mxCreateDoubleMatrix(mat->n_rows, mat->n_cols, mxREAL);
memcpy(mxGetPr(mx),some_data,data->n_elem*sizeof(double));
put("data",mx);
mxDestroyArray(mx);

//plot
engEvalString(m_engine, "plot(data(:,1),data(:,2),'-o')");

请记住,Matlab 以列为主,而 C++ 以行为主。

关于c++ - 获得 Matlab <-> C++ 接口(interface)的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6506803/

相关文章:

matlab - Simulink 中的旋转机械系统

image - imread 在 Matlab 中改变图像?

typescript - 您能否制作两个版本的界面,一种包含所有可选字段,另一种包含所有必填字段,同时保持 DRY?

java - 了解java中的 'TypeElement'和 'DeclaredType'接口(interface)

c++ - 使用 jsoncpp 时从 JSON 中剥离私有(private)数据的最佳方法

c++ - T 为 QPointF 时的模板转换运算符

matlab - matlab条形图中图例颜色的逆序

java - 包含相同接口(interface)的类实现接口(interface)

c++ - 使用迭代器时的性能问题?

c++ - 如何在 C++ 中访问作为指针传递的函数的参数