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

Werte in Editbox mit Pushbutton-Triggerung in Vektor schribn

 

Miessip
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 10.02.17
Wohnort: Zuhause
Version: MatLab R2010b
     Beitrag Verfasst am: 10.02.2017, 01:52     Titel: Werte in Editbox mit Pushbutton-Triggerung in Vektor schribn
  Antworten mit Zitat      
Hi,

bin ein MatLab GUI Newbie und steh vor folgendem (vmtl. sehr simplen) Problem:

Ich habe im GUI einen Pushbutton "Berechnen".
Außerdem eine Editbox in die ich Messwerte ("d1") reinschreiben will.
Jetzt möchte ich die in die Editbox geschriebenen Werte als Vektor mit dem Pushbutton in den Workspace schreiben.
Dabei möchte ich aber, dass mit jedem erneuten Drücken des Pushbuttons auch ein neuer Wert im Vektor entsteht und nicht der vorherige überschrieben wird. Es soll eine Messreihe werden, momentan manuell über den Pushbutton getriggert, später automatisch.

Bisher habe ich folgendes:

Code:

function Berechnen_Callback(hObject, eventdata, handles) % Callback vom Pushbutton "Berechnen"
d1=str2num(get(handles.edit_d1,'string')); % Wert aus Editbox rauslesen
assignin ('base','Durchmesser1',d1); % Wert in Workspace schreiben
 


Hierbei wird logischerweise immer der erste Wert im Workspace überschrieben wenn ich den Pushbutton drücke.
Wie bekomme ich es hin, dass mit jedem Drücken des Pushbuttons ein neuer Messwert im Vektor "d1_messreihe" entsteht?

Vielen Dank im Voraus!
_________________

*Hier sollte ein kluger Spruch stehen*
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.435
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.02.2017, 09:07     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Jetzt möchte ich die in die Editbox geschriebenen Werte als Vektor mit dem Pushbutton in den Workspace schreiben.

Davon wird generell abgeraten. Warum möchtest du das?

Zitat:
Wie bekomme ich es hin, dass mit jedem Drücken des Pushbuttons ein neuer Messwert im Vektor "d1_messreihe" entsteht?

Du könntest mit evalin ein Konstrukt der Form
Code:
d1_messreihe = [d1_messreihe, d1]

aufbauen. Ich weiß, dass das mühsam ist - und das ist auch ein Grund, warum generell von so etwas abgeraten wird.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Miessip
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 10.02.17
Wohnort: Zuhause
Version: MatLab R2010b
     Beitrag Verfasst am: 10.02.2017, 11:46     Titel:
  Antworten mit Zitat      
Hallo Harald,

Zitat:
Davon wird generell abgeraten. Warum möchtest du das?


im Endeffekt will ich einen Plot haben, der sich mit jedem Drücken des Pushbuttons aktualisiert und den entsprechenden Wert aus der Editbox mit aufnimmt, sodass eine Statistik entsteht. Ich dachte das wär am einfachsten ich schreibe alle Werte in einen Vektor und Plotte den dann jedesmal neu, auch über den Pushbutton getriggert.
Dass dann also jedes Mal, wenn ich den Pushbutton drücke zum einen ein neuer Wert im Vektor entsteht und der Vektor dann geplottet wird.

Oder geht das ganze insgesamt einfacher?

Danke und Gruß.
_________________

*Hier sollte ein kluger Spruch stehen*
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.435
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.02.2017, 13:32     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich dachte das wär am einfachsten ich schreibe alle Werte in einen Vektor und Plotte den dann jedesmal neu, auch über den Pushbutton getriggert.

Das ist auch so. Der Vektor sollte aber nicht im Base Workspace abgelegt werden, sondern in der GUI an sich.

Verschiedene Möglichkeiten dazu findest du hier:
https://de.mathworks.com/help/matla.....data-among-callbacks.html
Mein bevorzugter Weg ist Application Data.

Ab Release R2016a gibt es übrigens einen Nachfolger von GUIDE, den App Designer ( appdesigner ). Insbesondere das Verwalten von Daten ist dort deutlich schöner, nämlich als Eigenschaft.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Miessip
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 10.02.17
Wohnort: Zuhause
Version: MatLab R2010b
     Beitrag Verfasst am: 10.02.2017, 16:57     Titel:
  Antworten mit Zitat      
Hi,

ich hab das jetzt so gelöst wie du im ersten Post vorgeschlagen hast:

Zitat:
Du könntest mit evalin ein Konstrukt der Form

Code:
d1_messreihe = [d1_messreihe, d1]


aufbauen. Ich weiß, dass das mühsam ist - und das ist auch ein Grund, warum generell von so etwas abgeraten wird.


Mühsam fand ich das jetzt nicht, waren vier Zeilen Code, die ich hinzugefügt habe. Very Happy
Und für meine Zwecke reicht das vollkommen.

Vielen Dank!
_________________

*Hier sollte ein kluger Spruch stehen*
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.435
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.02.2017, 19:39     Titel:
  Antworten mit Zitat      
Hallo,

nicht die Menge der Zeilen, sonder die Zeilen an sich sind meines Erachtens mühsam zu schreiben.
Wenn man dann feststellt, dass man mit den Daten noch mehr machen möchte, steckt man jedes Mal bei evalin und ähnlichem fest. Wenn das dann mal nicht so funktioniert wie es soll, kann man sich beim Debuggen damit herumärgern.

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