gpt4 book ai didi

c++ - MATLAB 中的数据流,输入数据来自 C++ 可执行文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:06 27 4
gpt4 key购买 nike

我是 MATLAB 的新手,我想知道从 C++ 文件流式传输数据有哪些选择。

我听说为此目的使用 MATLAB“引擎”,以及一些方法,如 engPutVariable 等,但是有人可以给我一个完整的例子来说明如何去做吗?我正在尝试实现正弦波流式传输,但发送一组示例数据的简单示例应该足够了。

最佳答案

您有两个选择:matlab 引擎和 mex 函数。请务必注意,Matlab API 是单线程的。绝对没有办法拥有用户可见的后台线程。充其量只有 UI 事件中断。

有了 Matlab 引擎,您的应用程序就是一个使用 Matlab 作为插件库的 C++ 应用程序。您可以从 C++ 调用 Matlab 函数,但必须确保在任何时间点只有一个线程访问 Matlab。因此,您可以有一个线程从来自应用程序其余部分的输入队列中将数据馈送到 Matlab。 C++ 可以有任意多的线程,但只有一个线程可以与 Matlab 交互。

另一种方法是让 Matlab 控制主应用程序,并让它在需要更多数据时调用 C++ 代码。 C++ 代码充当 Matlab 的插件。 C++ 代码可以有任意多的线程,但是当您的 m 文件调用它时,Matlab 会轮询 C++。查看有关 MEX 函数的文档。

关于c++ - MATLAB 中的数据流,输入数据来自 C++ 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1071778/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com