Как загрузить этот вид данных в Matlab?

Вопрос:

У меня есть данные в следующем формате:

strides = 91 timestamp = 1406058867253 distance = 3146 heartbeatnumber = 203 speed = 0 heartrate = 92 strides = 91 timestamp = 1406058867995 distance = 3146 heartbeatnumber = 204 speed = 0 heartrate = 92 strides = 91 timestamp = 1406058869106 distance = 3146 heartbeatnumber = 206 speed = 0 heartrate = 92 strides = 91 timestamp = 1406058870216 distance = 3146 heartbeatnumber = 207 speed = 0 heartrate = 92

Какой самый простой способ загрузить их в Matlab?

Благодарю!

Лучший ответ:

Предполагая, что ваши данные находятся в текстовом файле, например data.txt, вы можете сделать следующее:

Сначала создайте идентификатор файла, чтобы вы могли ссылаться на свой текстовый файл изнутри matlab:

FID = fopen('data.txt')

Теперь вы можете сформулировать спецификатор формата, как описано в http://www.mathworks.nl/help/matlab/ref/textscan.html#inputarg_formatSpec

Для вашего случая это:

formatSpec = 'strides=%d timestamp=%d distance=%d heartbeatnumber=%d speed=%f heartrate=%d'

В которой %d представляет собой целое число (целое число), а %f – число с плавающей запятой (десятичное число, так сказать). Теперь вы можете импортировать текст в MatLab с помощью функции textscan(), документацию, также найденную в ссылке выше, и сохранить прочитанные данные в C.

C = textscan(FID,formatSpec)

Результатом будет массив ячеек, в котором каждая ячейка представляет столбец. Итак, в этом случае:

C{1} % Vector containing strides
C{2} % Vector containing timestamp
C{3} % Vector containing distance
C{4} % Vector containing heartbeatnumber
C{5} % Vector containing speed
C{6} % Vector containing heartrate

В конце закройте файл еще раз:

fclose(FID)

Удачи!

Ответ №1

Если файл является пространством или разделителем табуляции (похоже, он для меня), вы можете использовать:

http://www.mathworks.com/help/stats/tdfread.html

Данные будут считываться в Matlab в виде скалярной структуры, хотя вам нужно будет тщательно подумать о том, как вы хотите, чтобы это было организовано в зависимости от того, как выглядит этот текстовый файл (т.е. Каждая строка является личным лицом или точкой во времени? действительно ясно для меня)

Ответ №2

Вы можете перейти на вкладку “Главная” внутри MATLAB и нажать кнопку “Импортировать данные” в верхней части экрана. Затем вы можете выбрать файл, в котором хранится эта информация, и выбрать, каким образом вы хотите импортировать данные или создать сценарий или функцию для импорта данных. Это очень полезный инструмент, и я надеюсь, что он сработает для вас! 🙂

Оцените статью
TechArks.Ru
Добавить комментарий