textscan我要读这样Matlab的固定宽度
10001 3 5.0000 30.0 0.0000 25.6 0.0000 10.0
10002 1 25.0000 0.0000 4.6887 58.2
10003 5 45.0000 20.0 0.0000 14.7608
10004 5 65.0000 0.0000 8.8791
10005 1 85.0000 0.0000 6.3128 00.0
一个文件,其中该文件格式类似这样的“%5I%5I %% 10.4f%8.1f%10.4f%8.1f%10.4f %8.1f”
我用下面的代码
n_xyz_filename = input('\nSelect the file. ', 's');
n_xyz_file = fopen(n_xyz_filename, 'r');
n_xyz = textscan(n_xyz_file, '%5i%5i%10.4f%8.1f%10.4f%8.1f%10.4f%8.1f');
fclose(n_xyz_file);
但我一直收到以下错误
???错误使用==> textscan格式不正确的字符串。
我真的不明白!
编辑
作为回答说,正确的代码是:
n_xyz_filename = input('\nSelect the file. ', 's');
n_xyz_file = fopen(n_xyz_filename, 'r');
n_xyz = textscan(n_xyz_file, '%5d%5d%10.4f%8.1f%10.4f%8.1f%10.4f%8.1f');
fclose(n_xyz_file);
用 “d”(代表十进制),而不是 “我”
您确定该文件是固定宽度,而不是制表符分隔吗?也许尝试''dlmread'与'\ t'作为分隔符? – Dan 2013-04-29 10:04:59
我相信是固定的:我刚刚生成一个字符串。 – 2013-04-29 10:20:29
@Dan:不幸的是它不是'tab'格式。 – fpe 2013-04-29 10:32:38