将 .net System.Int32[] 转换为 matlab 矩阵

本文关键字:转换 matlab 矩阵 net System Int32 | 更新日期: 2023-09-27 18:37:22

我已经开发了C# dll作为程序集,它具有返回泛型列表的方法 - List<T> .我从 Matlab 调用此方法并获取返回的值为 System.Int32[] .

如何将此类型转换为 Matlab 矩阵(或单元格),以便在 Matlab 中更自由地使用它?

更好的是,如果 Matlab 调用 dll 自动返回"Matlab 样式"数组,我可以让它吗?

将 .net System.Int32[] 转换为 matlab 矩阵

假设我们有以下类型 System.Int32[] 数组(由 C# 函数返回):

arr = NET.createArray('System.Int32',5);
for i=1:5
    arr.Set(i-1, i);
end

现在要转换为 MATLAB 矩阵,我们可以简单地执行以下操作:

M = double(arr)

或更具体地说:

M = int32(arr)

结果:

>> whos
  Name      Size            Bytes  Class             Attributes
  M         1x5                20  int32                       
  arr       1x1                60  System.Int32[]              

MATLAB Builder NE 插件有望解决您的问题。试试吧。