2013-06-12 63 views
2

我在实时环境中构建需要高响应时间的应用程序。我知道有三种方法从C#调用MATLAB:将MATLAB与C集成#

  1. 使用MATLAB引擎COM自动化 在MATLAB创建
  2. Ç共享库使用编译器
  3. 使用生成器.NET在MATLAB创建
  4. .NET程序集

这些方法在速度(执行时间)方面有什么区别?任何关于方法的相对安全性的意见也将被赞赏。

感谢

回答

2

下面是一些提示您的问题

COM方法 该解决方案是相当缓慢的,因为COM类型的交换

动态数据交换 动态数据交换是一个很老但功能强大的Windows服务可让应用程序进行通信和交换数据

C API 直接访问MATLAB C API是在性能和​​功能方面的最佳解决方案,只需使用P/Invoke和一些不安全的指针操作即可。

你可以阅读更多http://www.codeproject.com/Articles/5468/1-2-3-ways-of-integrating-MATLAB-with-the-NET

希望它会有所帮助。

+0

感谢您的回复。我已经阅读过这篇文章。它很好地解释了每种方法及其用法。如果我们需要使用Matlab编译器来构建.Net的程序集,那么它可以直接从代码中引用呢?那我提到的第三种方法呢? –

+0

它在这里提到http://stackoverflow.com/questions/5901664/calling-a-matlab-function-from-c-sharp – Microtechie

+0

“MATLAB C API是最好的解决方案...”你有什么事实来支持这个? – KronoS