exponenta event banner

Преобразование массивов .NET в массивы ячеек

Преобразование .NET System.String и System.Object с массивами ячеек MATLAB ®, используйте cell функция. Элементы массива ячеек имеют тип MATLAB, ближайший к типу .NET. Дополнительные сведения см. в разделе Сопоставление типов .NET и MATLAB.

Например, используйте .NET Framework System.IO.Directory для создания массива ячеек имен папок в c:\ папка.

myList = cell(System.IO.Directory.GetDirectories('c:\'));

Преобразовать вложенные System.Object Множества

Преобразование не является рекурсивным для System.Object массив, содержащийся в System.Object массив. Необходимо использовать cell функция для преобразования каждой System.Object массив.

Например, создайте NetDocCell сборка с использованием направлений в разделе Создание приложения .NET для примеров MATLAB. Исходный код здесь.

 C #NetDocCell Исходный файл

Загрузите сборку и создайте массив ячеек, mlData.

dllPath = fullfile('c:','work','NetDocCell.dll');
NET.addAssembly(dllPath);
obj = NetDocCell.MyGraph;
mlData = cell(obj.getNewData)

Массив ячеек содержит элементы типа

mlData = 
    [1x1 System.String]    [1x1 System.Object[]]

Для доступа к содержимому System.Object массив, создайте другой массив ячеек mlPlotData.

mlPlotData = cell(mlData{2})

Этот массив ячеек содержит элементы типа

mlPlotData = 
    [1x1 System.String]    [1x1 System.Double[]]

cell Синтаксис функции для System.Object[,] Множества

Использовать это cell синтаксис функции для преобразования System.DateTime и System.String данные, содержащиеся в System.Object[,] массив к массивам ячеек данных MATLAB,

A = cell(obj,'ConvertTypes',type)

где obj является .NET System.Object[,] массив, и type является одним из следующих:

  • {'System.DateTime'} - Преобразовать System.DateTime элементы в MATLAB datetime элементы.

  • {'System.String'} - Преобразовать System.String элементы в массивы символов MATLAB.

  • {'all'} - Преобразование всех поддерживаемых типов .NET в эквивалентные типы MATLAB.

A является массивом ячеек, который имеет тот же размер, что и obj массив.

Связанные темы