如何将这种数据加载到Matlab中?

时间:2014-07-22 21:21:00

标签: 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中的最简单方法是什么?

谢谢!

3 个答案:

答案 0 :(得分:2)

假设您的数据位于文本文件中,例如data.txt,您可以执行以下操作:

首先创建一个文件ID,以便您可以在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表示浮点数(可以说是十进制数)。现在,您可以使用上面链接中的文档can()文档导入MatLab中的文本,并将读取的数据存储在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 :(得分:1)

如果文件是空格或制表符分隔(对我而言),那么您可以使用:

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

数据将作为标量结构读入Matlab,但您必须仔细考虑如何根据文本文件的外观进行组织(即每行是一个人还是一个时间点?对我来说并不是很清楚)

答案 2 :(得分:1)

您可以转到MATLAB内的“主页”选项卡,然后单击屏幕顶部的“导入数据”按钮。然后,您可以选择存储该信息的文件,并选择以何种方式导入数据或生成用于导入数据的脚本或函数。这是一个非常有用的工具,我希望它适合你! :)