3

我目前正在使用 Matlab 使用特定工具箱从眼动仪获取数据。之后,必须稍微处理数据流并将其发送到 C# 应用程序(.NET 框架)。整个数据流必须尽可能实时(数据采集和处理时间不超过 30 毫秒)。

我需要一种方法来连接从 Matlab 和 C# 应用程序获取的数据。我正在考虑使用文本文件,但在这种情况下,写入和读取操作之间应该存在同步。是否有任何方法可以将 Matlab I/O 操作与 C# I/O 操作同步?

4

1 回答 1

1

我可以建议三种方法:

  1. 对标志文件使用基于文件的同步。使用一个文件存储数据,使用另一个文件指示数据已准备好读取。读取数据文件后删除标志文件。这很容易实现,不需要任何额外的 Matlab 工具箱,但是当您尝试实现高数据速率或高速/低延迟同步时会出现潜在问题。您基本上必须尝试一下,看看它是否适用于您的硬件。
  2. 将您的 Matlab 程序编译成可以从 C# 应用程序调用的库(.dll)。那么你只有一个应用程序。为此,请使用MATLAB Compiler SDK
  3. 使用 TCP 套接字在两个程序之间进行通信。这样做的好处是允许两个程序在不同的计算机上运行,​​并且它也可以在同一台计算机上运行。这里给出了一个 Matlab 示例。
于 2016-06-11T20:04:02.953 回答