主要内容

将复数数据从 C# 客户端传递给 MATLAB

R2026b

要将数据从 MATLAB® R2022b 或更高版本中的 C# 应用程序传递给 MATLAB,请考虑使用 MATLAB Engine API for .NET。有关详细信息,请参阅 Pass .NET Data Types to MATLAB Functions 和 从 .NET 执行 MATLAB 函数。

如果您需要使用 MATLAB 作为 COM 自动化服务器来维护为 MATLAB R2022a 或更早版本创建的现有程序,请使用此示例,此示例在客户端 C# 程序中创建复数数据,并将其传递给 MATLAB。该矩阵由变量 pr 中的实数值向量和 pi 中的虚数值向量组成。该示例将矩阵读回 C# 程序中。

在 C# 中引用 MATLAB 类型库的语句如下:

MLApp.MLApp matlab = new MLApp.MLApp();

从 C# 客户端程序中,在您的工程中添加对 MATLAB COM 对象的引用。例如,在 Microsoft® Visual Studio® 中,打开您的工程。在工程菜单中,选择添加引用。在“添加引用”对话框中,选择 COM 选项卡。选择 MATLAB 应用程序。有关详细信息,请参考您的供应商文档。

以下是完整示例:

using System;
namespace ConsoleApplication4
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
MLApp.MLApp matlab = new MLApp.MLApp(); 

System.Array pr = new double[4];
pr.SetValue(11,0);
pr.SetValue(12,1);
pr.SetValue(13,2);
pr.SetValue(14,3);

System.Array pi = new double[4];
pi.SetValue(1,0);
pi.SetValue(2,1);
pi.SetValue(3,2);
pi.SetValue(4,3);

matlab.PutFullMatrix("a", "base", pr, pi);

System.Array prresult = new double[4];
System.Array piresult = new double[4];

matlab.GetFullMatrix("a", "base", ref prresult, ref piresult);
}
}
}

另请参阅

|

主题