Передача Массивов ячеек данных.NET

Пример Массивов ячеек данных.NET

В Преобразовании Вложенная Система. Пример Массивов объектов, массив ячеек mlData содержит данные из метода MyGraph.getNewData. Путем чтения документации класса в исходном файле можно создать следующий график MATLAB®:

dllPath = fullfile('c:','work','NetDocCell.dll');
asm = NET.addAssembly(dllPath);
graph = NetDocCell.MyGraph;

% Create cell array containing all data
mlData = cell(graph.getNewData);

% Plot the data and label the graph
figure('Name',char(mlData{1}))
plot(double(mlData{2}(2)))
xlabel(char(mlData{2}(1)))

Однако отслеживание данных различных типов и размерностей и преобразований, необходимых, чтобы сопоставить данные о.NET в типы MATLAB, является сложным с помощью структуры массива ячеек. Вот некоторые советы для работы с содержимым вложенных массивов System.Object в MATLAB. После чтения данных из метода.NET:

  • Создайте массивы ячеек для всех массивов System.Object.

  • Преобразуйте типы.NET в типы MATLAB, согласно информации в Обрабатывают Данные, Возвращенные в Объекты.NET.

  • Создайте переменные MATLAB для каждого типа в массивах ячеек.

  • Вызовите функции MATLAB с переменными MATLAB.

Создание массива ячеек для каждой системы.

Этот пример показывает, как скопировать данные System.Object в массив ячеек.

Следующий оператор создает массив ячеек mlData:

mlData = cell(graph.getNewData)
mlData = 
    [1x1 System.String]    [1x1 System.Object[]]

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

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

mlPlotData = cell(mlData{2})
mlPlotData = 
    [1x1 System.String]    [1x1 System.Double[]]

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

Создание переменных MATLAB из данных.NET

Присвойте данные о ячейке переменным MATLAB и преобразуйте:

% Create descriptive variables
% Convert System.String to char
mytitle = char(mlData{1});
myxlabel = char(mlPlotData{1});
% Convert System.Double to double
y = double(mlPlotData{2});

Вызов функций MATLAB с переменными MATLAB

Создайте график MATLAB с этими данными:

% Remove the previous figure
close
% Plot the data and label the graph
figure('Name',mytitle,'NumberTitle','off')
plot(y)
xlabel(myxlabel)