我必须从文本文件中导入一些数据才能在Matlab中使用它:
1947/02/28 79,1
1947/03/31 79,1
1947/04/30 80,2
依旧......
我的问题是:我无法将其导入35x2矩阵(35只是一个随机数)或一个包含35x1矩阵(字符串或日期时间)的结构,另一方面包含35x1矩阵(双)
我没有找到像textscan,importdata ...这样的导入函数,它支持多个空格,否则它会尝试将数据拆分为“,”。
请帮助。
答案 0 :(得分:1)
我们假设fid
是您的文件句柄。
r = struct('date', {}, 'value', {});
n_line = 0;
tline = fgets(fid);
while ischar(tline)
tok = regexp(tline, '(\d+/\d+/\d+)\s+(\d+),(\d)', 'tokens');
if ~isempty(tok)
n_line = n_line + 1;
r(n_line).date = datenum(tok{1}{1});
r(n_line).value = 0.1 * str2double(tok{1}{3}) + str2double(tok{1}{2});
end
tline = fgets(fid);
end
完成后不要忘记关闭fid
。我假设您认为80,2
类似于80.2
的德语符号,不确定这是否正确。