fil*_*anu 5 .net c# matlab inter-process-communicat
我有一个在Matlab中实现的算法,我打算将其部署为DLL,以便与.NET项目集成..NET项目是基于GUI的应用程序,其中一小部分包括显示从运行算法获得的结果.我目前遇到的问题是我需要显示中间结果.该算法非常复杂,可以运行多次迭代(由用户选择),并且在每次迭代结束时,GUI应该使用当前数据进行更新.
我现在想到的最佳解决方案是让Matlab线程充当本地tcp服务器的tcp客户端,我将从我的C#GUI应用程序开始.但是,我觉得这种方法效率低下.我想知道这是否可以通过其他方式实现.
首先,根据您的问题判断,我猜你知道Matlab builder NE.它允许您部署.NET DLL.如果你不知道,试试吧.
1)您可以将.NET对象传递给Matlab代码,该代码将用作通信方式.创建此类的新实例,并将其作为输入发送到您的Matlab代码.Matlab代码将在 每次迭代时调用UpdateGui逻辑.以下示例位于C#中
class GuiUpdater{
public void UpdateGui(int param1,int param2){
//Do update logic here.
}
}
Run Code Online (Sandbox Code Playgroud)
2)将您的DLL编译为COM(也可以在Matlab Builder NE中),并使用COM通信.
3)使用文件系统作为通信手段.在Matlab中写入文件,并在.NET中读取.
| 归档时间: |
|
| 查看次数: |
3115 次 |
| 最近记录: |