从 C# 调用 MATLAB 函数

发布于 2024-11-05 10:53:31 字数 188 浏览 2 评论 0原文

我开发了一个 MATLAB 函数,并且正在寻找一种从另一个 C# 应用程序调用该函数并向其传递一些参数并在 C# 程序中获取结果的方法。

我听说我可以使用动态数据交换 (DDE) 或COM 对象,但是我可以这样做吗?

I developed a MATLAB function, and I'm looking for a way to call that function from another C# application and pass some parameters to it and get the results in the C# program.

I heard that I can use Dynamic Data Exchange (DDE) or COM objects, but have can I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦回旧景 2024-11-12 10:53:31

MATLAB Central 中有一个很好的示例。

它展示了如何与 MATLAB 进行通信的三种方式:

  1. COM
  2. MATLAB .NET Bulider
  3. MATLAB 编译器

COM(我没有任何经验)

缺点:需要在目标计算机上安装 MATLAB。

MATLAB .NET 生成器将您的 MATLAB 代码编译为 .NET 程序集,您可以直接使用它。

优点:不需要在目标计算机上安装 MATLAB

价格昂贵

缺点: MATLAB 编译器将您的 MATLAB 代码编译为 C/C++ 库或 EXE 文件, 。您可以通过P/Invoke使用它。

优点:不需要在目标计算机上安装 MATLAB

缺点:价格昂贵,P/Invoke 较多。

There is nice example in the MATLAB Central.

It shows three ways on how to communicate with MATLAB:

  1. COM
  2. MATLAB .NET Bulider
  3. MATLAB compiler

COM (I do not have any experience with it)

Cons: MATLAB is required to be installed on the target computer.

MATLAB .NET builder compiles your MATLAB code to the .NET assembly and you can use it directly.

Pros: MATLAB is not required to be installed on the target computer

Cons: It's expensive

MATLAB compiler compiles your MATLAB code into a C/C++ library or EXE file. You can use it through P/Invoke.

Pros: MATLAB is not required to be installed on the target computer

Cons: It's expensive, a lot of P/Invoke.

我做我的改变 2024-11-12 10:53:31

还有第三个选项:代表。启动 MATLAB ->加载 .NET 程序集 ->使用 MATLAB 函数的委托句柄执行 .NET 函数。

There is a third option: delegates. Starting MATLAB -> load .NET assembly -> execute .NET function with delegate handle to a MATLAB function.

誰認得朕 2024-11-12 10:53:31

这个网站上有一个很好的例子 设置一切。您可以使用 MATLAB .NET 部署工具。

您需要

  • 安装 MCR(Matlab 编译器运行时)。
  • 使用 Matlab Deploy 将 Matlab 函数部署到 .NET Assembly
    工具。这将创建一个 .dll 文件。
  • 在 .NET 项目中添加 .dll 引用。
  • 添加对 MATLAB.NET 的引用。

这种方法的优点是目标机不需要安装MATLAB,但缺点是执行成本相当高。

There is a great example on this site on setting up everything. You can use MATLAB .NET deployment tool.

You need to

  • Install MCR (Matlab Compiler Runtime).
  • Deploy your Matlab function to .NET Assembly using Matlab Deploy
    Tool. This will create a .dll file.
  • Add .dll reference inside your .NET project.
  • Add reference to MATLAB.NET.

The advantage of this method is that the target machine does not require MATLAB to be installed, but on the downside the execution is quite expensive.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文