2016-04-11 3 views
0

In MATLAB zu laden, ich habe eine Struktur, in Matlab-Datei gespeichert:Wie partielle Variablen aus mat Dateien

Ch= 
    H:[4-D double] 
    D: [1x15 double] 
    duration:6 
    power: [1x1 struct] 

die Größe H ist

size(H) = 1332 15 4 128 

save(examplefile, 'Ch','-v7.3') 

Next ich erklären, was ich tun möchte, :

Da die Datei sehr groß ist, möchte ich irgendwann an meinem Code partielle Variablen aus der Datei examplefile laden. Zum Beispiel an einem Punkt würde Ich mag nur die ersten 1:1332/n von H der Datei examplefile laden; ich das zweite Mal nur das nächste varaiables von 1333/n:2*1333/n eine so weiter läuft laden würde und so weiter ....

Meine Frage ist, wie man die Teilvariablen aus der erstellten Datei lädt?

Wir freuen uns für Anregungen und helfen

+0

''-v.37''? Meinst du "-v7.3"? – Daniel

+0

ja sorry das ist richtig – Henry

Antwort

1

Sie sind für den matfile Befehl suchen. Leider ist die Indexierung sehr eingeschränkt, Indexstrukturen werden nicht unterstützt. H muss eine individuelle Variable in der Mat-Datei sein.

%save using individual variables 
save(examplefile,'-struct','Ch','-v7.3') 
%create matfile object: 
data=matfile(examplefile) 
%example indexing operation. Only that part of `H` is read. 
part=data.H(1:3,1,1,1) 
+0

vielen dank. Ich möchte fragen, ob der Speicherbefehl, den du benutzt hast, nur H speichert? Wie unterscheidet es sich dann von der Art, wie ich es benutzt habe? – Henry

+1

@Henry Mit ''struct'' werden die Felder der angegebenen Struktur (hier' Ch') als einzelne Variablen in der '.mat'-Datei gespeichert. Dies bedeutet, dass Sie "H", "D", "duration" und "power" gespeichert haben, da dies einzelne Variablen im Arbeitsbereich wären. Ein Beispiel finden Sie in [this] (http://ch.mathworks.com/help/matlab/import_export/save-structure-fields-as-separate-variables.html). Die Ausgabe von 'matfile' ist ein MAT-Datei-Objekt, mit dem nur bestimmte Teile der ursprünglichen m-Datei gelesen werden können. – Matt

Verwandte Themen