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