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

Meine werte grafisch eingeben

 

Jessk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 09:30     Titel: Meine werte grafisch eingeben
  Antworten mit Zitat      
Ich habe mit GUI leider keinerlei erfahrung.
Ich will eigentlich was relativ einfaches. Zumindest glaube ich, dass es einfach ist.
Habe in Matlab eine Formel implementiert.
Aktuell ist es so, dass ich im Editor meine x und y Werte eingeben muss und im Command Window mein Ergebnis erhalte.

Wie könnte ich eine GUI erstellen, damit sich grafisch irgendetwas öffnet und ich hier die Gelegenheit habe, meinen x und y Wert einzugeben und das Ergebnis ebenfalls auf dieser Oberfläche angezeigt wird. Das ist anschaulicher als die Daten im Editor einzugeben.
Gibt es etwas vorprogrammiertes, damit auch ein laie es anpassen kann?

Danke im voraus!


Harald
Forum-Meister

Forum-Meister


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

siehe z.B. hier:
http://www.gomatlab.de/viewtopic.php?t=42719

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 10:09     Titel:
  Antworten mit Zitat      
Habs mir angesehen, soweit ich es verstanden habe (Mein Englisch ist ausbaufähig) und Frage mich, kann man es überhaupt mit einen vorhandenen Code kombinieren?
Die Listbox beispielweise ist sehr praktisch, aber wie kann ich hier meinen Vektor reinpacken?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.12.2016, 10:23     Titel:
  Antworten mit Zitat      
Hallo,

ja, kann man. Der existierende Code kann aus den Callbacks heraus aufgerufen werden.
Für den Inhalt einer Listbox ist die Eigenschaft String zuständig.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 10:54     Titel:
  Antworten mit Zitat      
Sieht es nur so kompliziert aus oder ist es es auch? Ich frage vorsichtshalber, ich kann mir keine Woche Zeit nehmen, weil es nur optisch besser aussehen soll Wink

Was heißt das ist die Eigenschaft String zuständig? Gehen keine double?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.12.2016, 11:12     Titel:
  Antworten mit Zitat      
Hallo,

geh doch mal die schrittweise Anleitung für GUIDE durch. Länger als 1 Stunde dürfte das kaum dauern.
Doubles würde ich mit num2str umwandeln.

Listbox ist aber nur geeignet, wenn man zwischen bestimmten vorgegebenen Optionen auswählen möchte. Für Zahlen sind edit-Felder oder Slider üblicher.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 11:48     Titel:
  Antworten mit Zitat      
Also es sieht jetzt folgendermaßen aus(Anhang)

-In meine List sollen meine vorgegebenen y-Werte rein
-Oben habe ich einen Edit Text. Hier wird mein x Wert reingeschrieben
-Unten befindet sich das Static Text um das Ergebnis anzuzeigen

Jetzt kommt der schwierige Teil. Wie kann ich meine y Werte in die List eintragen
y Werte sind int Werte?

ice_screenshot_20161222-114157.png
 Beschreibung:

Download
 Dateiname:  ice_screenshot_20161222-114157.png
 Dateigröße:  9.36 KB
 Heruntergeladen:  460 mal
 
Jessk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 13:56     Titel:
  Antworten mit Zitat      
Ich habe es soweit zum laufen gebracht.

Allerdings mit 2 Edit Text für meine beiden Werte.

Ich will wie bereits gesagt eine ListBox verwenden, wo ich meine x-Werte reinpacke und dann auswählen kann.
Jemand eine Idee, wie das geht?
 
Jessk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 15:11     Titel:
  Antworten mit Zitat      
Ich finde leider keine Lösung.

Nochmal:

Ich möchte in die Listbox meine y-Werte(integer) eintragen.

Wenn ich dann in der Liste einen Wert auswähle, soll dieser Wert sozusagen intern einer anderen Variable z zugewiesen werden

Bitte um Hilfe!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.12.2016, 16:10     Titel:
  Antworten mit Zitat      
Hallo,

bitte etwas Geduld. Die Leute hier, inkl. mir, beschäftigen sich nicht den ganzen Tag ausschließlich mit gomatlab.

Es ist auch immer hilfreich, wenn du bisherigen Code oder Dateien zur Verfügung stellst. Man kann z.B. nur erahnen, was die Tags deiner GUI-Objekte sind. Zudem sieht man genau den momentanen Stand.

Zunächst müssen die Auswahlmöglichkeiten zur Verfügung gestellt werden. Das kannst du interaktiv in GUIDE machen, indem du die Listbox doppel-klickst und die Eigenschaft String anpasst. Hier kannst du auch Zahlen ganz normal eingeben.
Alternativ kannst du in der OpeningFcn die Eigenschaft String setzen, z.B.
Code:
handles.listbox1.String = num2str( (1:5)' )


Wenn in der Listbox eine Änderung gemacht wird, wird der entsprechende Callback ausgelöst (rechts-Klick --> view callbacks). Dort kannst du z.B. die Eingabe auslesen:
Code:
z = handles.listbox1.String;


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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 16:29     Titel:
  Antworten mit Zitat      
Hallo,

ich habe meine Strings(1 2 3 4) in der Liste drinne

Wie kann ich es in eine Variable packe, die eine int Variable z sein soll.
Ich habe es mit

Code:
z= str2num(get(handles.MeineListe, 'string'));


versucht. Wie muss man es richtig eingeben?

Meine andere Variable habe ich nach den gleichen schema gemacht und hat geklappt

Code:
x= str2double(get(handles.MeinWert, 'string'));
 
Jessk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 16:33     Titel:
  Antworten mit Zitat      
Das ist der Code von der Liste:


Code:
% --- Executes on selection change in MeineListe.
function MeineListe_Callback(hObject, eventdata, handles)
% hObject    handle to MeineListe(see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns MeineListe contents as cell array
%        contents{get(hObject,'Value')} returns selected item from MeineListe


% --- Executes during object creation, after setting all properties.
function MeineListe_CreateFcn(hObject, eventdata, handles)
% hObject    handle to MeineListe(see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: listbox controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.12.2016, 17:05     Titel:
  Antworten mit Zitat      
Hallo,

hatte gerade nicht dran gedacht, dass man bei Listbox über Value gehen muss...

Hast du mal den Kommentar in der Callback-Funktion gelesen? Da steht's ja:
Code:
contents = cellstr(get(hObject,'String'))
contents{get(hObject,'Value')}


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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 17:10     Titel:
  Antworten mit Zitat      
Das habe ich natürlich gelesen, aber verstehen tue ich es ja leider nicht....
 
Jessk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.12.2016, 17:18     Titel:
  Antworten mit Zitat      
Habe es auch mit

Code:
z= cellstr(get(handles.MeineListe,'String'));
z{get(handles.MeineListe,'Value')};


versucht. Klappt auch nicht
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.