WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Auf Daten aus unter-GUI warten?

 

Christian85
Forum-Anfänger

Forum-Anfänger



Beiträge: 37
Anmeldedatum: 01.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2008, 13:39     Titel: Auf Daten aus unter-GUI warten?
  Antworten mit Zitat      
Hallo zusammen!

Bin neu hier und habe zufällig gleich eine Frage Very Happy

Und zwar möchte ich, dass mein Hauptprogramm auf Daten aus einem Unterprogramm wartet.

Das Hauptprogramm sieht an der kritischen Stelle etwa so aus:
Code:
filterfunktion = filter1(laenge);
for i=1:(laenge-1)
ergebnisfunktion(i) = filterfunktion(i)*freqdata(i);
end


Das Nebenprogramm "filter1" erstellt eine Filterfunktion aus Benutzereingaben und übergibt die zurück an das Hauptprogramm.

Weil "filter1" aber erst nach Benutzereingaben einen Wert ungleich 0 ausgibt, schreibt das Hauptprogramm nicht in die Variable "filterfunktion" und bricht natürlich ab.

Wäre schön, wenn ihr eine Idee hättet - ich hab mit dem Kram erst vor zwei Tagen angefangen und verzweifle schon bei einfachen Sachen Wink

Gruß, Christian!
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 01.04.2008, 14:40     Titel:
  Antworten mit Zitat      
Hallo,

ich würde einfach while-Schleife einbauen in der man eine gewisse Zeit wartet
solange filter1 gleich 0 gilt mache pause
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 01.04.2008, 15:35     Titel:
  Antworten mit Zitat      
wenn ich richtig verstanden habe handelt es sich bei filter1 um eine GUI. Falls ja, dann sollte die Funktion UIWAIT Dir weiter helfen. Dann wartet auch das Hauptprogramm solange, bis der Benutzer die Daten eingegeben hat und bis die GUI geschlossen wurde.

Code:
filterfunktion = filter1(laenge);
% drawnow % evtl. erforderlich
uiwait(gcf)


eleganter wäre es jedoch die UIWAIT funktion in der aufzurufenden GUI zu aktivieren. Dadurch ist es sichergestellt, dass Dein Hauptprogramm solange wartet, bis die augerufene GUI geschlossen wird.

Übrigens findest Du schon eine auskommentiere UIWAIT kommando auch im M-File der vom GUIDE erzeugt wird. Genau für solche Zwecke ist es auch vorgesehen. Mehr dazu in der Doku...


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Christian85
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 37
Anmeldedatum: 01.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2008, 15:57     Titel:
  Antworten mit Zitat      
outsider: Richtig verstanden, beide Programmteile sind GUIs

und danke! Ich hatte zwar schon die Hilfedatei nach "wait" durchsucht, aber den uiwait-Befehl muss ich übersehen haben Embarassed

edit: Hat mit dem Einbauen ins "unter-GUI" super funktioniert - nochmal danke!

@denny: Genau mit der whileschleife in der alten GUI hab ich das auch erst probiert - der beansprucht aber so viel rechenpower, dass sich die neue nicht mehr bedienen lies...
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 01.04.2008, 16:35     Titel:
  Antworten mit Zitat      
@Christian85
Sorry hab dich einfach falsch verstanden
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.