Преобразовать столбец таблицы в матрицу в Matlab - PullRequest
0 голосов
/ 24 октября 2018

У меня есть таблица (T), как показано ниже:

>> Name = {'John';'Mary';'Martha'};
Age = [10.8;15.11;20.22];
T=table(Name,Age);
>> T

T =

  3×2 table

      Name       Age 
    ________    _____

    'John'       10.8
    'Mary'      15.11
    'Martha'    20.22

Преобразование столбца Age в матрицу работает нормально, если я использую:

cell2mat(table2cell(T(:,2)))

Но несработает, если я использую:

cell2mat(table2cell(T.Age))

и выдает следующую ошибку:

>> cell2mat(table2cell(T.Age))
Undefined function 'getVars' for input
arguments of type 'double'.

Error in table2cell (line 15)
t_vars = getVars(t);

Можно ли как-нибудь использовать вместо этого имя столбца T.Age T (:, 2) при преобразовании этого столбца в матрицу?

1 Ответ

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

Из Доступа к данным в таблице документ на сайте MathWorks

Скобки позволяют выбрать подмножество данных в таблице и сохранить контейнер таблицы.

, в то время как

Индексирование точек извлекает данные из одной табличной переменной.Результатом является массив того же типа данных, что и извлеченная переменная.Вы можете следовать индексации точек с круглыми скобками, чтобы указать подмножество строк для извлечения из переменной.

Итак, если вы используете T.Age для доступа к данным, результат уже должен быть матрицей,т.е. вам не нужно делать какие-либо преобразования, используя table2cell или cell2mat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...