matlab:从数据中删除某些行到新矩阵

时间:2011-06-30 16:19:04

标签: matlab

我有几个类似如下的raw_data文件... each.dat文件有不同的行数 ...但是,在每个raw_data文件中,前2行和后2行将是移入angle_data.dat文件...以便在通过matlab代码编程后,每个raw_data文件将创建2个新文件:一个是angle_data文件,另一个是final_data文件...(final_data文件是raw_data文件中的剩余数据)。 ..

raw_data1.dat

A B 0.0 1.2222 3.1111

C U 0.0 2.333 12.999

G T 3.4 2.3 5.666

R P 2.5 44.3 6.777

R Q 8.222 5.999 0.344

通过matlab代码编程后,结果如下:

angle_data1.dat

A B 0.0 1.2222 3.1111

C U 0.0 2.333 12.999

R P 2.5 44.3 6.777

R Q 8.222 5.999 0.344

final_data1.dat

G T 3.4 2.3 5.666

1 个答案:

答案 0 :(得分:0)

以下内容应该有效:

angleData=rawData(1:2;end-1:end);
finalData=rawData(3:end-2);

我可能在那里交换过行和列,但这就是主意。我在这台机器上没有matlab的副本来测试它。

编辑:以防万一:

angleData=rawData(:,1:2;:,end-1:end);
finalData=rawData(:,3:end-2);

虽然..如果你有一个可用的shell,它可能要快得多: (感谢Amro改进了最后一行)

head -n 2 raw_data.dat > angle_data.dat
tail -n 2 raw_data.dat >> angle_data.dat
head -n -2 raw_data.dat | tail -n +3 > final_data.dat