MATLAB: индексирование точек не поддерживается для переменных этого типа при доступе к столбцу ячейки - PullRequest
0 голосов
/ 31 октября 2018

Я извлекаю данные из таблицы и сохраняю курсор 1 * 1 в курсорах.

Код выглядит примерно так:

curs = exec(conn,['Select D***V***e,D***T***S***p From ' **** ' where Attribute = "****"']);
    curs = fetch(curs);
    Data = curs.Data;
    close(curs);
s = string(Data.D***T***S***p);

Это дает мне ошибку | | | Индексирование точек не поддерживается для переменных этого типа. Ошибка в WaveletCode (строка 11) s = строка (Data.DataTimeStamp); |||

Данные - это ячейка 30000 * 2 в формате ниже

84.3363037100000    '2017-06-01T00:00:03.5+10:00'
99.5158004800000    '2017-06-01T00:01:03.5+10:00'

Может ли кто-нибудь помочь мне выяснить, в чем он заключается с кодом.

1 Ответ

0 голосов
/ 31 октября 2018

Ваши данные - это массив ячеек с DataValues ​​в первом столбце и DataTimeStamp во втором столбце. Массивы ячеек могут содержать любой тип данных (строки, массивы, структура, дескрипторы функций ...), но некоторые преобразования могут быть выполнены для массивов ячеек с единообразным типом по всему массиву. Прочитайте документацию по типу данных cell для получения дополнительной информации.

, например

%Select first column (cell array of scalars) and convert to array
Value = cell2mat(Data(:,1));
%Select second column (cell array of char) and convert to a string array
TimeStamp = string(Data(:,2));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...