2010-06-21 88 views
0

如何将两个数据列组合成一个文件。这些代码应该产生一个新的文件,其中有2列。虽然产生2列,但其中的a所有的数据被写入第一后跟数据durationMATLAB组合数据

fid=fopen('data1.txt'); 
A =textscan(fid,'%f%f%f%f%f%f%f%f%f%f%f%f'); % read a txt file 
in = cell2mat(A); %change to matrix 
fclose(fid); 

index = find(in(2:end,2) == in(1:end-1,2)) + 1; %condition 1 
duration(index)= in(index,4) - in(index-1,4); 
a(index)=in(index,2); 

fid = fopen('test.txt','wt'); 
format short g; 
fprintf(fid,'%g\t%g\n',a,duration); 
fclose(fid); 

编辑的数据是不正确的: 被如下所示的输出格式 -

318684 24 % 318684 I don't know where this number come from, not from the input 
24  24 % this is the a output 
24  24 
1.1 1.08 % this is the duration output 
2.1 0.77 

预期的输出是

24 1.1 
24 1.08 
24 2.1 
24 0.77 
1.3 1.8 
+0

你能告诉我们这两列的格式吗? – Jacob 2010-06-21 23:51:26

回答

0

你需要修复的fprintf行:

fprintf(fid,'%g\t%g\n',[a(:),duration(:)]'); 
+0

它不起作用.. – Jessy 2010-06-22 06:04:23

+0

现在好了吗?如果不是的话,你能不能显示'a'和'duration,并告诉我究竟出了什么问题? – Jonas 2010-06-22 11:06:19