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

Slider Position im GUI mit einem Push Button zurücksetzen

 

rumus001
Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 03.07.2014, 16:03     Titel: Slider Position im GUI mit einem Push Button zurücksetzen
  Antworten mit Zitat      
Hi Leute,

gibt es eine Möglichkeit ein Slider in einer GUI durch Drücken eines dafür erstellten Push Buttons zurück auf seine Ursprungsposition zu setzen?

Ich habe ein Edit-Text Element und einen Slider in meiner GUI.

Ich habe es geschafft den Wert im Edit-Text Element durch Slider Bewegung zu verändern. Ich benötige noch eine Lösung wie ich durch einen Push Button den Slider auf die ursrpüngliche Position zurücksetzen kann.
Den Wert im Edit-Text Element durch diesen Push Button zurückzusetzen habe ich bereits erledigt, aber bei dem Slider habe ich keine Idee wie es gehen soll.

Kann mir jemand einen Tip geben?
Private Nachricht senden Benutzer-Profile anzeigen


SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2014, 11:27     Titel:
  Antworten mit Zitat      
Hallo,

ohne den Code zu sehen, kann ich nur kurz beschreiben.
in der Button Funktion, den folgenden Code hinfügen.

Code:
set(handle_Slider,'Value',100);


du kannst selbst die Parameters ändern.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
rumus001
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 04.07.2014, 13:14     Titel:
  Antworten mit Zitat      
Code:


function SLIDER_VERTIKAL_Callback(hObject, eventdata, handles)

% Rufe Sliderwert ab:
slider_position = get(hObject,'Value');

% Wert in String konvertieren:
value = num2str(slider_position);

% Schreibe den Sliderwert als String ins Edit-Text Element:
value = round(get(hObject, 'Value')/1)*1;
set(hObject, 'Value', value);
set(handles.muV,'String',value);

% Erneutes Plotten mit aktuellem Sliderwert:
BUTTON_PLOT_Callback(hObject, eventdata, handles);


function BUTTON_RESET_SLIDER_VERTICAL_Callback(hObject, eventdata, handles)
set(handles.SLIDER_VERTIKAL,'Value',0);
set(handles.muV,'String',0);
guidata(hObject,handles);

 


So klappt es, vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2014, 13:55     Titel:
  Antworten mit Zitat      
Hallo,

bitte einmal den Code testen und das beispiel in folgender link vergleichen.

http://www.mathworks.com/help/contr.....ractive-plot-updates.html

Code:
function test()
zeta = 0.5;wn = 2;
sys = tf(wn^2,[1,2*zeta*wn,wn^2]);

f = figure;
ax = axes('Parent',f,'position',[0.13 0.39  0.77 0.54]);
h = stepplot(ax,sys);
setoptions(h,'XLim',[0,10],'YLim',[0,2]);

b = uicontrol('Parent',f,'Style','slider','Position',[81,54,419,23],...
              'value',zeta, 'min',0, 'max',1);
uicontrol('Parent',f,'Style','text','Position',[50,54,23,23],...
                'String','0','BackgroundColor',get(f,'Color'));
uicontrol('Parent',f,'Style','text','Position',[500,54,23,23],...
                'String','1','BackgroundColor',get(f,'Color'));
uicontrol('Parent',f,'Style','text','Position',[240,25,100,23],...
                'String','Damping Ratio','BackgroundColor',get(f,'Color'));
uicontrol('Style', 'pushbutton', 'String', 'Reset',...
        'Position', [20 90 60 30],'Callback',{@reset_pos,b});            
set(b,'Callback',@(es,ed) updateSystem(h,tf(wn^2,[1,2*get(es,'Value')*wn,wn^2])));

function reset_pos(~, ~, handles)
set(handles,'Value',0.5);


PS: nächstes mal am besten alle Code (oder am mindestens ein minimal beispiel) hier posten, sonst will niemand dein Code-text analysieren.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
rumus001
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 04.07.2014, 14:11     Titel:
  Antworten mit Zitat      
Leider sind mein english und die Matlab Programmierkentnisse viel zu schlecht dafür um aus diesem Beispiel auf Anhieb Erkentnisse zu gewinnen.
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2014, 14:14     Titel:
  Antworten mit Zitat      
schade Sad

ok, habe ich folgender Code hinzugefügt, dann funktioniert es.

Code:
uicontrol('Style', 'pushbutton', 'String', 'Reset',...
        'Position', [20 90 60 30],'Callback',{@reset_pos,b});            

function reset_pos(~, ~, handles)
set(handles,'Value',0.5);
 


Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
rumus001
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 04.07.2014, 14:29     Titel:
  Antworten mit Zitat      
SkyRazor hat Folgendes geschrieben:
schade :(

ok, habe ich folgender Code hinzugefügt, dann funktioniert es.

Code:
uicontrol('Style', 'pushbutton', 'String', 'Reset',...
        'Position', [20 90 60 30],'Callback',{@reset_pos,b});            

function reset_pos(~, ~, handles)
set(handles,'Value',0.5);
 


Grüße



Wo hinzufügt? Wo muss es hin in Callback von meinem Push Button?



Sorry wir haben uns glaube ich nicht verstanden.
Ich hatte in meinem zweiten Post geschrieben dass es geklappt hat.
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2014, 14:36     Titel:
  Antworten mit Zitat      
ok,

ich entschuldige mich dafür, du hast schon das Problem gelöst, leider hab ich nicht gesehen und eine andere Lösung gefunden. Mad Mad . bin zu dumm!!!

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
rumus001
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 04.07.2014, 14:39     Titel:
  Antworten mit Zitat      
SkyRazor hat Folgendes geschrieben:
ok,

ich entschuldige mich dafür, du hast schon das Problem gelöst, leider hab ich nicht gesehen und eine andere Lösung gefunden. :-x :-x . bin zu dumm!!!

Grüße

Kein Problem!


Ausserdem habe ich auch so eine Meldung wenn ich deinem Beispiel auf MathWorks Webseite folge:

Code:

Error using tf
License checkout failed.
License Manager Error -39
User/host not on INCLUDE list for
Control_Toolbox.
Contact your License Administrator
to review the Options File.
 
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2014, 14:44     Titel:
  Antworten mit Zitat      
Hast du Control Toolbox schon installiert?

tf ist eine embedded Funktion darin, mit 'ver' Command kannst du den toolbox einmal prüfen.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
rumus001
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 04.04.14
Wohnort: NRW
Version: R2013a 32Bit
     Beitrag Verfasst am: 04.07.2014, 14:47     Titel:
  Antworten mit Zitat      
Code:

MATLAB Version: 8.0.0.783 (R2012b)
MATLAB License Number: XXXXX
Operating System: Microsoft Windows XP x64 Version 5.2 (Build 3790: Service Pack 2)
Java Version: Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
-------------------------------------------------------------------------------------------------------
MATLAB                                                Version 8.0        (R2012b)
Simulink                                              Version 8.0        (R2012b)
Control System Toolbox                                Version 9.4        (R2012b)
DSP System Toolbox                                    Version 8.3        (R2012b)
Embedded Coder                                        Version 6.3        (R2012b)
Fixed-Point Toolbox                                   Version 3.6        (R2012b)
MATLAB Coder                                          Version 2.3        (R2012b)
MATLAB Compiler                                       Version 4.18       (R2012b)
MATLAB Report Generator                               Version 3.13       (R2012b)
Optimization Toolbox                                  Version 6.2.1      (R2012b)
Parallel Computing Toolbox                            Version 6.1        (R2012b)
Signal Processing Toolbox                             Version 6.18       (R2012b)
SimPowerSystems                                       Version 5.7        (R2012b)
Simscape                                              Version 3.8        (R2012b)
Simulink Coder                                        Version 8.3        (R2012b)
Simulink Control Design                               Version 3.6        (R2012b)
Simulink Fixed Point                                  Version 7.2        (R2012b)
Simulink Report Generator                             Version 3.13       (R2012b)
Simulink Verification and Validation                  Version 3.4        (R2012b)
Stateflow                                             Version 8.0        (R2012b)
System Identification Toolbox                         Version 8.1        (R2012b)
Vehicle Network Toolbox                               Version 1.7        (R2012b)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
SkyRazor
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 07.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2014, 15:04     Titel:
  Antworten mit Zitat      
Hallo,

Danke für deine Meldung.

hab ich gerade getestet, ab 2013b unterstützt Matlab die neue Funktion updateSystem, d.h. in deinem Version gibt es keine solche Funktion und deshalb gibt es Fehlermeldungen.

irgendwie hat das beispiel nichts zu tun mit deiner Frage, ich habe das nur einfach genommen und geändert, um die Lösung zu deiner frage herauszufinden.

die geänderte Code teil wurde schon hier geschrieben.

Grüße
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.