2010-06-21 7 views
0

Comment combiner deux colonnes de données dans un fichier. Ces code devrait produire un nouveau fichier qui a 2 colonnes. Bien qu'il produit 2 colonne mais les données ne sont pas là où toutes les données de a ont été écrites en premier, suivi par les données durationMATLAB combiner les données

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); 

ÉDITÉ: Le format de sortie a été comme indiqué ci-dessous -

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 

la sortie est prévue

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

Pourriez-vous nous montrer le format de ces deux colonnes? – Jacob

Répondre

0

Vous devez corriger la ligne fprintf:

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

cela ne fonctionne pas .. – Jessy

+0

mieux maintenant? Si non, pouvez-vous montrer «a» et «durée, s'il vous plaît, et dites-moi ce qui ne va pas exactement? – Jonas

Questions connexes