2010-06-23 12 views
-1

How can I merge this data in MATLAB?MATLAB créer une nouvelle colonne

ma question est liée au lien ci-dessus. Avec le code ci-dessous (merci gnovice), il va créer un nouveau fichier avec 3 colonnes (colonne d'écrasement time). Au lieu de la colonne Ecraser time Je veux ajouter modifié time comme nouveau column..which fait le nouveau fichier = 4 colonnes [a time c modifiedTime].

a = [1; 2; 3; 4; 5];   %# Sample data 
time = [10; 40; 20; 11; 40]; %# Sample data 
c = [0; 1; 0; 0; 1];   %# Sample data 

index = find(c == 1);    %# Find indices where c equals 1 
temp = time(index);     %# Temporarily store the time values 
time(index) = 0;      %# Zero-out the time points 
time(index-1) = time(index-1)+temp; %# Add to the previous time points 
c(index) = 0;      %# Zero-out the entries of c 

fid = fopen('newData.txt','wt');    %# Open the file 
fprintf(fid,'%g\t %g\t %g\n',[a time c].'); %'# Write the data to the file 
fclose(fid);         %# Close the file 

Répondre

1

Je crois que les solutions est aussi simple que l'ajout d'un autre vecteur à votre matrice de sortie de fprintf . J'ai ajouté le nouveau vecteur modifiedtime en haut à titre d'exemple et ajouté comment extraire les données avec l'instruction fprintf.

a = [1; 2; 3; 4; 5];   %# Sample data 
time = [10; 40; 20; 11; 40]; %# Sample data 
c = [0; 1; 0; 0; 1];   %# Sample data 
modifiedtime = [3, 4, 7, 1, 2]; %# new array 

index = find(c == 1);    %# Find indices where c equals 1 
temp = time(index);     %# Temporarily store the time values 
time(index) = 0;      %# Zero-out the time points 
time(index-1) = time(index-1)+temp; %# Add to the previous time points 
c(index) = 0;      %# Zero-out the entries of c 

fid = fopen('newData.txt','wt');    %# Open the file 
fprintf(fid,'%g\t %g\t %g\t %g\n',[a time c modifiedtime].'); %'# Write the data to the file 
fclose(fid);  
+0

... merci ryan mais le temps modifié prend le processus de la colonne « temps » ... Je veux dire le ModifiedTime n'a pas existé avant le processus de modification du « temps » – Jessy

+0

Je ne suis pas sûr de ce que vous demandez alors. Ne souhaitez-vous pas simplement ajouter une colonne de données à votre fichier de sortie contenant des données 'modified time'? Si vous pouvez développer un peu plus votre question initiale, cela peut vous aider. – Ryan

Questions connexes