我必须从一个文本文件中导入一些数据,以便在Matlab中使用它:
1947/02/28 79,1
1947/03/31 79,1
1947/04/30 80,2以此类推。
我的问题是:我不能把它导入35x2矩阵(35只是一个随机数),或者一个结构,它一方面包含35x1矩阵(字符串或日期-时间),另一方面包含35x1矩阵(双精度)
我找不到像文本扫描,导入数据这样的导入函数...它支持一个以上的空格,否则它会尝试在",“处拆分数据。
请帮帮忙。
发布于 2013-01-05 03:21:15
让我们假设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的德语符号,但不确定这是否正确。
https://stackoverflow.com/questions/14162841
复制相似问题