【问题标题】:Is it possible to call c# scripts from MATLAB?是否可以从 MATLAB 调用 c# 脚本?
【发布时间】:2014-06-26 10:55:13
【问题描述】:

我在 MATLAB 中有一个编写 CSV 的脚本,该 CSV 由一个 c# 脚本读取,该脚本编写了一些我返回并在 MATLAB 中读取的 CSV。

有什么方法可以自动执行此操作,这样我就不必每次都手动调用 c# 代码了?

【问题讨论】:

  • C# 脚本到底是什么意思? .csx 文件?图书馆?可执行文件?还是别的什么?

标签: c# matlab


【解决方案1】:

从 Matlab 调用 .net 非常容易。官方文档位于http://www.mathworks.co.uk/help/matlab/matlab_external/load-a-global-net-assembly.html 您应该知道,Matlab 是区分大小写的(即使在指定汇编路径时也是如此),并且它还限制了它可以跨边界来回传递的对象种类。

如果您将一个数组从 Matlab 传递到您的 C# dll 中,它将看起来是一个裸对象数组而不是一个数字数组。在 Matlab 中,您可能需要使用 char 和 cell 方法将字符串和数组转换回您期望的形式。

【讨论】:

    【解决方案2】:

    回答标题问题,例如“是否可以从 MATLAB 调用 C# 函数”:是的,可以。 Mathworks 在其网站上的calling .NET assemblies from MATLAB 上提供了不错的文档。当然,有一些限制和一些尴尬的怪癖需要考虑,但基本上您可以从 MATLAB 创建 .NET 类的实例并与 .NET 应用程序交互。

    要建议自动化此过程,您或许可以深入了解MATLAB COM Automation Service

    在此的扩展中:也可以调用MATLAB functions in a .NET application。反过来说,有点意思。这对于基本数据类型来说没有问题,但是当它获得更多进步时,它可以让您通过一些棘手的 COM 挑战。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      相关资源
      最近更新 更多