globale Variable < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:43 Mi 22.05.2013 | Autor: | jan77 |
Hallo,
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
ich arbeite erst seit kurzen mit Matlab und manche Dinge überfordern mich im Moment noch etwas, sry schonmal falls die Frage dumm sein sollte. Ich will eine Variable als global deklarieren. In einer Funktion wähle ich eine Datei die ich dann plotte. Das ganze sieht so aus:
[filename pathname] = uigetfile({'*.txt'},'File Selector')
A=strcat(pathname, filename);
S=load(A);
plot(S(:,1),S(:,2))
grid
Jetzt möchte ich in einer anderen Funktion, genau diese Datei S auch verwenden. Wie funktioniert das?
ich habe es mit global S versucht, aber dies funktioniert nicht. Kann mir einer helfen?
Grüße
jan77
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:01 Mi 22.05.2013 | Autor: | JBourne |
"in einer anderen Funktion"
Was für eine Funktion ist das? Eine selbstgeschriebene?
Wie rufst du diese auf?
"aber dies funktioniert nicht"
Was genau funktioniert nicht, kommt da eine Fehlermeldung? Was für eine?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:11 Mi 22.05.2013 | Autor: | jan77 |
Hallo JBorne,
nein es ist keine selbstgeschriebene Funktion. Wenn man eine Gui-Oberfläche erstellt, werden ja viele Funktionen zu jeden einzelnen Button oder eingabefenster automatisch erstellt. Und denen will ich jetzt sagen, was passiert, wenn man diesen knopf drückt. Bei dem einen Knopf wird eine Tabelle eingelesen, mit x und y Werten und wird anschließend geplottet. 'Anschließend will ich, das wenn ein anderer Knopf gedrückt wird, mit der Datei die ich in der anderen funktion hochgeladen habe, weiter gearbeitet wird. Dazu müsste ich sie global machen, dass heißt das sie in meinem m-file überall zugreifbar ist, oder ? nur irgendwie bekomme ich das nicht hin. Bin auch noch relativ neu im Matlab unterwegs.
Schonmal vielen Dank für deine Antwort!
Grüße
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:38 Do 23.05.2013 | Autor: | QCO |
Du musst die Variable mittels global als global definieren, das meines Wissens nach aber für jede einzelne Funktion, die sie nutzen soll.
D.h. für dein obiges Beispiel
global A, S;
[filename pathname] = uigetfile({'*.txt'},'File Selector')
A=strcat(pathname, filename);
S=load(A);
plot(S(:,1),S(:,2))
grid
Und in der anderen Funktion muss dann auch
global A, S;
rein.
|
|
|
|