Wie, um Daten zu speichern .txt-Datei in MATLAB
Habe ich die 3 txt-Dateien s1.txt, s2.txt, s3.txt
.Alle haben das gleiche format und die Anzahl der Daten.Ich will verbinden, wird nur die zweite Spalte von jeder der 3 Dateien in eine Datei. Bevor ich diese Daten zusammen, sortierte ich Sie nach der 1. Spalte:
Unsortierten Datei:
s1.txt s2.txt s3.txt
1 23 2 33 3 22
4 32 4 32 2 11
5 22 1 10 5 28
2 55 8 11 7 11
Sortierten Datei:
s1.txt s2.txt s3.txt
1 23 1 10 2 11
2 55 2 33 3 22
4 32 4 32 5 28
5 22 8 11 7 11
Hier ist der code, den ich bisher:
BaseFile ='s'
n=3
fid=fopen('RT.txt','w');
for i=1:n
%Open each file consecutively
d(i)=fopen([BaseFile num2str(i)'.txt']);
%read data from file
A=textscan(d(i),'%f%f')
a=A{1}
b=A{2}
ab=[a,b];
%sort the data according to the 1st column
B=sortrows(ab,1);
%delete the 1st column after being sorted
B(:,1)=[]
%write to a new file
fprintf(fid,'%d\n',B');
%close (d(i));
end
fclose(fid);
Wie bekomme ich die Ausgabe in die neue txt-Datei in diesem format?
23 10 11
55 33 22
32 32 28
22 11 11
statt dieses format?
23
55
32
22
10
33
32
11
11
22
28
11
InformationsquelleAutor Jessy | 2010-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie die Ausgabe-matrix, erste, dann in die Datei schreiben.
Hier ist der neue code:
EDIT:
Tatsächlich schreiben nur zahlen in eine Datei, die Sie nicht brauchen, FPRINTF. Verwenden DLMWRITE statt:
Der code kann besser gemacht werden. Ich wollte nicht zahlen viel Aufmerksamkeit zum Eingang Teil. Zum Beispiel, braucht man eigentlich nicht cell2mat als gut, nur 'CollectOutput' - parameter (true) in textscan. Ich würde auch hinzufügen, Validierung code, um sicherzustellen, dass alle input-Dateien haben die gleiche Anzahl von Zeilen (oder der code funktioniert nicht).
Ich aktualisierte den code, wie bekomme ich Zugriff auf MATLAB.
Danke ...ich Frage mich, warum das msg --> 'Input-Dateien haben unterschiedliche Anzahl von Zeilen kommen, wenn ich entfernt die sortrows? und es nicht, wenn ich nicht entfernen Sie die sortrows?
Dieser Linie auch Auszüge double matrix von cell-array. Wenn Sie entfernen möchten sortrows, fügen Sie
B = A{:};
.InformationsquelleAutor yuk