Чтобы преобразовать.NET System.String
и массивы System.Object
к массивам ячеек MATLAB®, используйте функцию cell
. Элементы массива ячеек имеют тип MATLAB, самый близкий к типу.NET. Для получения дополнительной информации см..NET Type to MATLAB Type Mapping.
Например, используйте Среду.NET класс System.IO.Directory
, чтобы создать массив ячеек имен папок в вашей папке c:\
.
myList = cell(System.IO.Directory.GetDirectories('c:\'));
Преобразование не является рекурсивным для массива System.Object
, содержавшего в System.Object
ObjectArray. Необходимо использовать функцию cell
, чтобы преобразовать каждый System.Object
ObjectArray.
Для примера создайте блок NetDocCell
с помощью направлений в, Создают Приложение.NET для MATLAB Examples. Исходный код здесь.
Загрузите блок и создайте массив ячеек, 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.DateTime
и данные System.String
, содержавшиеся в массиве System.Object[,]
к массивам ячеек данных MATLAB,
A = cell(obj,'ConvertTypes',type)
где obj
является.NET массив System.Object[,]
, и type
является одним из следующего:
система. DateTime'}
— Преобразовывает Систему.
Элементы DateTime
к элементам datetime
MATLAB.
система. Представьте в виде строки'}
— Преобразовывают Систему. Строковые элементы
к символьным массивам MATLAB.
все
Преобразуйте все поддерживаемые типы.NET в эквивалентные типы MATLAB.
A
является массивом ячеек, который одного размера как массив obj
.