1

使用 MATLAB Compiler Runtime (mcr),我创建了 entropy.m 的 dll,选择了 FrameWork 4.0 版。我已将此 dll 添加到 c# 引用中。我还必须添加 MWArray.dll 来为方法创建所需的参数。

        >     public class Entropy : IDisposable
        >      {
        >          //Constructors,Finalize,Methods,Class Members are located here.
        >      }
        >      using com.Entropy;
        >      using MathWorks.MATLAB.NET.Arrays;
        >      using MathWorks.MATLAB.NET.Utility;

这是我的问题。我正在尝试获取 Entropy 类的实例,例如

 Entropy ep = new Entroyp(); 

但是它抛出了一个异常,上面写着:

> The type initializer for 'com.Enthropy.Enthropy threw an exception.

另外,当我尝试创建MWNumericArray它时,它会引发相同的异常。我试图将我的项目的框架版本更改为 4.0,但它不起作用。这个错误的原因是什么?

此外,我查看了下面的链接。

从 C#.NET 访问 MATLAB 函数

使用 MATLAB Builder NE

是否有在 .NET 语言(例如 C#)中使用“MWArray”数据类型和 MATLAB Builder for .NET 组件的示例?

4

1 回答 1

1

好的。安装 MCR 后,我一开始就做完了所有事情。创建了 entropy.m 的 dll。然后我打开了我的项目的早期版本,我的意思是我删除了添加的引用;MWArray.dll和熵.dll。之后,我将这些引用添加到我的项目中。现在它工作正常。

要点: 1)在创建任何 MatLab 函数INSTALL MCR的 dll 文件之前。2)在创建 dll 时,尝试为类和项目赋予不同的名称。我的意思是,如果您创建该名称的项目,Entropy.prj则不要将您的类名创建为Entropy. 3)不要忘记添加MWArray.dll到您的项目中。它的位置是

(..//Program Files(x86)//MATLAB\MATLAB CompilerRuntime\v81\toolbox\dotnetbuilder\bin\win32\v2.0)

于 2013-09-27T08:23:37.000 回答