Tag: matlab deployment

将.NET数据表传递给MATLAB

我正在为Matlab组件构建一个接口层,该组件用于分析由我也在构建的单独.NET应用程序维护的数据。 我正在尝试将.NET数据表序列化为数值数组,以传递给MATLAB组件(作为更通用的序列化例程的一部分)。 到目前为止,我已经相当成功地传递了数值数据表,但是在尝试添加数据类型DateTime列时遇到了麻烦。 我到目前为止所做的是将DataTable的值填充到双数组中,因为MATLAB只关心双精度,然后直接转换为MWNumericArray ,它本质上是一个矩阵。 这是当前的代码; else if (sourceType == typeof(DataTable)) { DataTable dtSource = source as DataTable; var rowIdentifiers = new string[dtSource.Rows.Count]; // I know this looks silly but we need the index of each item // in the string array as the actual value in the array as well for (int i = […]

非矩阵数据类型的C#和MATLAB互操作性

我正在编写一个需要调用MATLAB处理例程的C#程序。 我一直在研究MATLAB的COM接口。 不幸的是,就可以交换的数据类型而言,COM接口似乎相当有限。 支持矩阵和字符数组,但似乎不支持使用COM接口在C#和MATLAB之间交换结构数据或单元数组。 例如,在下面的代码中(假设在相应的文件夹中存在名为IM000000的DICOM图像),MATLAB变量’img’和’header’分别是256×256 int16矩阵和struct。 GetWorkspaceData调用适用于’img’,但对’header’返回null,因为’header’是一个结构。 public class MatlabDataBridge { MLApp.MLAppClass matlab; public MatlabDataBridge() { matlab = new MLApp.MLAppClass(); } public void ExchangeData() { matlab.Execute(@”cd ‘F:\Research Data\'”); matlab.Execute(@”img = dicomread(‘IM000000’);”); matlab.Execute(@”header = dicominfo(‘IM000000’);”); matlab.GetWorkspaceData(@”img”, “base”, out theImg); // correctly returns a 2D array matlab.GetWorkspaceData(@”header”, “base”, out theHeader); // fails, theHeader is still null } […]

如何在已编译的.NET程序集中使用Matlab对象?

我有一个基本的Matlab类,我想在C#中实例化。 classdef MyClass properties Value end methods function obj=MyClass(v) obj.Value = v; end function display(obj) disp(obj.Value); end end end 然后将其内置到.DLL文件中,并将其与相关的Matlab命名空间(MathWorks.MATLAB.NET.Arrays,MathWorks.MATLAB.NET.Utility)一起导入C#项目中。 在C#方面,我试图构建这个类的实例化: Untitled2.MLTestClass matlab = new Untitled2.MLTestClass(); MWCharArray input = new MWCharArray(“Initial”); MWArray[] result = matlab.MyClass(1, input); 在最后一行代码的末尾,result.Length = 1,result [0] = null。 我不知何故希望以某种方式获得对新创建的Matlab对象的引用。 我想知道,这甚至可能吗? 如果是,那么如何实现呢? 如果不是,有办法解决吗? (我基本上有一个用C#编写的GUI组件,我不想在Matlab中集成,反过来,反之亦然)。

我们可以在C#中创建GUI来运行MATLAB代码吗?

我在MATLAB中设计了代码并且工作正常。 我在MATLAB中使用GUI,但这对我来说很头疼。 我想我可以简单有效地创建GUI。 我们可以在C#中创建GUI,它还将运行我设计的MATLAB的整个代码吗?

使用Matlab从C#控制台应用程序创建图形或绘图?

如果我在C#中有一个二维数组,我如何在Matlab中绘制这个数组的内容,作为二维图? 我正在使用扩展方法,即 my2DArray.PlotInMatlab();

从C#调用MATLAB函数

我开发了一个MATLAB函数,我正在寻找一种方法从另一个C#应用程序调用该函数并将一些参数传递给它并在C#程序中获得结果。 我听说我可以使用动态数据交换 (DDE)或COM对象,但我能做到吗?

Matlab和C#之间的互操作

在浏览互联网之后,看起来可以在C#和Matlab之间进行互操作。 我想知道是否有人取得了成功以及他们做了什么。 如果可能的话,不使用COM就把它拉下来。 谢谢你的时间。