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

dynamisches Auslesen der Limits

 

Evilscytheman
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 07.11.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2007, 12:53     Titel: dynamisches Auslesen der Limits
  Antworten mit Zitat      
Hi

ich habe ein paar gemessene Messwerte, diese lasse ich mir alle in Abhängigkeit von der Zeit darstellen. Das heißt x-Limits der figure sind für eine 30 Sekunden lange Messung [0 , 30]. Zur weiteren Berechnung, möchte ich aber in der figure den relevanten Bereich festlegen.
Also zoome ich in den relevanten Bereich, dann sind also die x-Limits [xmin , xmax].

Nun möchte ich quasi auf Tastendruck die Limits auslesen.

Das geht ja einfach mit:

Code:
tlimits = get(gca,'Xlim')


Aber ich will es erst auslesen, wenn der Benutzer 'Enter' oder ähnliches drückt. Oder in dem der Benutzer auf einen Button in der Figure drückt.

Aber ich weiß weder wie ich ein "Event" mache, das startet, wenn man eine Taste drückt und eine Figure im Vordergrund ist, noch weiß ich wie man einen Button in eine Figure platziert.

Könnt ihr mir helfen?
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: 26.11.2007, 22:59     Titel:
  Antworten mit Zitat      
folgender Code platziert einen Button im Figure:
Code:

figure
uicontrol('units','pixel','position',[10 10 60 20],'string','ClickMe','Callback','disp(''HALLO WORLD'')')


Ein Figure mit dem Handle "h" kann wie folgt ins Vordergrund geholt werden:
>> figure(h)



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Evilscytheman
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 07.11.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.11.2007, 13:28     Titel:
  Antworten mit Zitat      
Danke, das klappt schonmal, wirft aber weitere Probleme auf:

1. Problem, sobald der Push Button angezeigt wird, verschwindet die Figure Toolbar. Die sollte aber da bleiben Sad

2. Problem: dazu muss ich aber erst mal kurz was erläutern:

Also das Programm besteht aus einer GUI, womit man als erstes die Daten einlesen kann. Dazu klickt man auf einen Button, welcher eine m-File aufruft:
Code:
function fileload_Callback(hObject, eventdata, handles)
laden


In dieser m-File wird der handles Container "geladen" :
Code:

und am Ende werden die neuen Einträge im Container "gespeichert":
Code:


Sobald die Daten geladen werden wird ein weiterer Button frei (aktiviert), welcher eine weitere m-File aufruft, welche dann die Daten anzeigt.
Code:
handles.figint=figure('Name',['Intervall festlegen ',handles.quelle],'Numbertitle','off');

Auch hier werden die handles (wie oben) geladen und gespeichert.
Sobald die Figure konfiguriert ist und alle Achsen etc. benannt sind soll ein Push-Button in dieser Figure platziert werden:
Code:
handles.IntFest=uicontrol('style','pushbutton',...
                                        'units','pixel',...
                                        'position',[50 50 60 20],...
                                        'string','OK',...
                                        'Callback',"XXXXX")


So, mit Hilfe dieses Buttons, soll der Benutzer bestätigen, dass das Intervall (welches jetzt in der Figure (handles.figint) festgelegt ist) übernommen wird.
Also:

Code:
axes_figint=get(handles.figint,'CurrentAxes');
tlimits=get(axes_figint,'XLim');


So aber wie mache ich nun den Callback, so dass ich auf alle bisher abgespeicherten handles Zugriff habe?

habe es mit einer Callback-Funktion in der "Haupt m-File" versucht:
Code:
...
'Callback',Auswertung('Zeitverlauf_Callback',gcbo,[],guidata(gcbo)))

Läuft aber nicht :
"??? Error using ==> Auswertung>IntFest_Callback
Too many output arguments."

auch mit einer extra angelegten m-File ging es nicht:
Code:
...
'Callback','IntFest')

da:
"??? Attempt to reference field of non-structure array.

Error in ==> IntFest at 3
axes_figint=get(handles.figint,'CurrentAxes');"

obwohl ich wie oben beschrieben die handles übergebe.

Also ich glaube ganz stark, dass ich die handles Übergabe in Matlab noch nicht richtig verstanden hab Confused

Könnt ihr mir hier bitte helfen?? Achja nicht zu vergessen wäre noch das Problem, dass sobald der Button erscheint die Figure Toolbar verschwindet Crying or Very sad

Ich hoffe ich habe das Problem detailliert genug geschildert ... falls noch Fragen sind einfach fragen Very Happy

Ich bau auf euch Wink und hab vollstes Vertrauen Cool
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.