fpd*_*gon 10 c++ matlab interface
我有一个C++ Windows程序,我想在现有的Matlab程序中转换和可视化来自这个C++应用程序的一些数据.
目前我正在将C++应用程序中的数据写入文件中.同时,Matlab应用程序读取文件并处理数据.(轮询)它基本上可以工作,但是当数据负载变高时我遇到了性能问题.
在这些程序之间传输数据的最佳解决方案是什么?我在考虑一种消息队列或套接字接口.
使用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')");
Run Code Online (Sandbox Code Playgroud)
请记住,Matlab在专业列中工作,而C++是行专业.
| 归档时间: |
|
| 查看次数: |
6604 次 |
| 最近记录: |