.mat Datei in M-File benutzen < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 22:25 Do 28.04.2011 | Autor: | qsxqsx |
Hallo,
Es geht um Matlab...
Ich schreibe ein grösseres M-File Programm, welches eine Menge von variablen bzw. vordefinierten Vektoren benützt. Diese sind in einer .mat Datei schön abgespeichert und können daraus auch leicht in den "workspace" geladen werden.
Nun wie kann ich aber diese Inhalte der .mat Datei im M-File direkt benutzen?
Habe schon gegoogelt in Deutsch als auch English, finde aber nichts.
Ein Link ist mir natürlich auch recht.
Naja es gibt also den Befehl "load" (help load). Da steht das man das ja
für .mat Dateien verwenden kann. Ich weiss aber nicht wie ich an die Info rankomme.
function letters = find_letter(noise)
d = load('letters.mat','v');
return
Ich meine: was soll d sein? Habe gelesen ein struct. Dann müsste man doch mit d(1) die erste Variable bekommen? Irgendwie funktionierts aber nicht...
Gruss
|
|
|
|
Guten Abend,
im M-File sind ja die Variablen gespeichert. Sofern du den Variablennamen kennst kannst du die Variable laden:
load('mfile.mat', 'y')
hier ist y der Variablenname. Fertig.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:24 Do 28.04.2011 | Autor: | qsxqsx |
Jetzt versteh ich wie das gemeint ist! Danke sehr ich wär nie drauf gekommen, habe ewigkeiten dran gehangen.
Danke!!!
Abend!
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 23:39 Do 28.04.2011 | Autor: | qsxqsx |
Sorry nochmal, es existiert ein weiteres Problem. Ich habe jetzt die Funktion so geschrieben, wobei a ein Vektor, gespeichert in der .mat Datei ist.
function letter = find_letter()
a = load('letters.mat','a');
letter = a;
return
Wenn ich jetzt in die Kommando Zeile "letter = find_letter()" eingebe, erscheint eine Fehlermeldung. Das letter ist als struct im workspace gekennzeichnet. Aber es müsste doch jetzt dem Vektor a entsprechen?
Ich verstehs nicht so ganz.
Gruss
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:42 Do 28.04.2011 | Autor: | qsxqsx |
Achsooo... ich muss dann eingeben letter.a anstelle von letter.
Frage ist beantwortet.
Grüsse
|
|
|
|