exponenta event banner

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

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

В примере Преобразовать массивы вложенных систем.Object массив ячеек 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

В этом примере показано, как копировать 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)