Fif*_*ion 4 file-io matlab text-files
我有一个具有以下结构的文本文件:
1999-01-04
1,100.00
1,060.00
1,092.50
0
6,225
1,336,605
37
1999-01-05
1,122.50
1,087.50
1,122.50
0
3,250
712,175
14
...
Run Code Online (Sandbox Code Playgroud)
该文件包含重复的八个值集合(一个日期后跟七个数字,每个数字各自独立).
我想把它读入MATLAB并将值放到不同的向量中.我试图用几种不同的方法来实现这一点,但没有一种方法有效 - 都输出了某种错误.
如果它很重要,我在Mac上这样做.
编辑:这是我之前在答案中的代码的较短版本...
如果您想直接读取数据文件,而不必像dstibbe建议那样先进行预处理,则以下内容应该有效:
fid = fopen('datafile.txt','rt');
data = textscan(fid,'%s %s %s %s %s %s %s %s','Delimiter','\n');
fclose(fid);
data = [datenum(data{1}) cellfun(@str2double,[data{2:end}])]';
Run Code Online (Sandbox Code Playgroud)
上面的代码将每组8个值放入8×N矩阵中,N是数据文件中8个线组的数量.日期将转换为序列日期编号,以便它可以包含在矩阵中的其他双精度值中.以下函数(在上面的代码中使用)可能是有意义的:TEXTSCAN,DATENUM,CELLFUN,STR2DOUBLE.