2015-03-31 4 views
6

Ich frage mich, ob es eine Möglichkeit gibt zu bestimmen, ob eine bestimmte MAT-Datei v4, v6, v7 oder v7.3 ist?Wie kann ich die Version einer MAT-Datei aus MATLAB ermitteln?

Ich bin auf der Suche nach einer Lösung, die die Version mit MATLAB-Code bestimmen kann, vorzugsweise ohne die Daten in den Speicher zu laden.

+4

Es gibt einen Kommentar am Anfang jeder Datei, verwenden Sie 'Baumuster zur es angezeigt werden soll. Es steht '5.0' für v6 und v7, nicht sicher, was passiert ist. – Daniel

+0

@Daniel Das ist sehr nützlich - ich hatte keine Ahnung. Sie sollten das als eine Antwort setzen, würde upvote. –

+0

Nur um @Daniels Kommentar hinzuzufügen, 'v4' Dateien scheinen keinen Kommentarkopf zu haben,' v6' und 'v7' Dateien haben eine Kopfzeile, die 5.0 sagt, und' v7.3' Dateien haben eine Kopfzeile, die sagt 7.3. –

Antwort

5

Es gibt einige Kommentare am Anfang von MAT-Dateien Version 6 oder folgende. Dieser Code liest es:

function txt=getMatComment(x) 
fid=fopen(x); 
txt=char(fread(fid,[1,140],'*char')); 
txt=[txt,0]; 
txt=txt(1:find(txt==0,1,'first')-1); 
end 

Es scheint der Kommentar immer 116 Zeichen lang ist, aber ich habe keinen Hinweis finden. Dieser Code liest 140 Zeichen und Schnitte von am Ende.

Der Teil verstehe ich nicht: Für Version 6 oder 7 er sagt MATLAB 5.0 MAT-file

Verwandte Themen