Преобразование .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
массив, содержащийся в System.Object
массив. Вы должны использовать cell
функция для преобразования каждой System.Object
массив.
Для примера создайте NetDocCell
сборка с использованием направлений в Build a .NET Application for 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.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
массив.