我有以下格式的数据:
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中的最简单方法是什么?
谢谢!
答案 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内的“主页”选项卡,然后单击屏幕顶部的“导入数据”按钮。然后,您可以选择存储该信息的文件,并选择以何种方式导入数据或生成用于导入数据的脚本或函数。这是一个非常有用的工具,我希望它适合你! :)