Извлечение данных из структуры в таблице Matlab

У меня есть таблица Matlab. Одна из колонн состоит из 1 на 1 структуры. Структура содержит два поля с именем type, которое представляет собой строку, и координаты, представляющие собой ячейку 1x3. Я хотел бы создать матрицу 1x3, которая содержит значения из ячейки 1x3. Таблица имеет 3585 строк.

С уважением, Матиас

1 ответ

Решение

Предположим, у вас есть следующее в качестве вашей структуры и таблицы

structureName.coordinates={1,2,3}
structureName.type='type'
tableName=table(structureName)

Вы можете получить доступ к структуре, используя следующий код. Обратите внимание, что "1" является ссылкой на индекс табличной переменной, к которой вы пытаетесь обратиться. В этом случае интересующая структура является первой (и единственной) переменной таблицы. В противном случае вы бы заменили "1" на "n", где "n" - это индекс структуры в вашей таблице.

tableName{:,1}

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

tableName{:,1}.type
tableName{:,1}.coordinates

Предполагая, что вы хотите создать свою матрицу 1x3 отдельно от таблицы, вы можете использовать

cell2mat(tableName{:,1}.coordinates)

Для всех случаев, использованных выше, вы можете заменить

tableName{:,1}

с

tableName.structureName

и получить эквивалентные результаты.

Другие вопросы по тегам