Mehrere Variablen aus Textfeld für eine Berechnung verwende
Patrick123
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 22.04.2012, 14:54
Titel: Mehrere Variablen aus Textfeld für eine Berechnung verwende
Hallo,
ich möchte in einem GUI in ein "edit text" frei wählbare Variablen in der Form z.B.: [1 2](also nicht nur eine Variable) eingeben mit denen dann auf Knopfdruck die Polstellen, Nullstellen und Residuen ausgerechnet werden sollen. Eine Beispielfunktion wäre
H1(z ) = (1+ 2z ^−1)/(1− 0.1z^ −1 − 0.2z^ −2). Danach wird das Ergebnis in einem "static text" ausgegeben. Das Problem ist nun das ich es nicht hinkriege mehrere Variablen auf einmal einzulesen welche dann für den Nenner oder Zähler benutzt werden. Mein Code sieht bis jetzt wie folgt aus
Code:
function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) assignin('base','b',str2num(get(handles.edit1, 'String')));
assignin('base','a',str2num(get(handles.edit2, 'String')));
Wenn du die Variablen im Base Workspace anlegst (assignin-Zeilen) und aber lokal verwenden willst (tf2pz-Befehl), dann kann das nicht gut gehen.
Grüße,
Harald
Patrick123
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 22.04.2012, 15:46
Titel:
Danke für die Antwort, hab ich auch noch nicht gewusst, hab noch nicht so viel Ahnung von Matlab aber das Problem ist hauptsächlich das ich in dem "edit text" im GUI z.B. 1 2 eingeben möchte und er das so übernimmt als würde ich im workspace b= [1 2] eingeben und ich damit die Rechnungen durchführen kann. Sorry falls das zu wenig Informationen waren.
Ich würde davon abgesehen lieber zwei getrennte Edit-Felder dafür nehmen.
Grüße,
Harald
Patrick123
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 22.04.2012, 16:12
Titel:
An mehrere Edit-Felder hab ich auch schon gedacht nur das ganze soll interaktiv sein also wenn ich jetzt z.B. im Zähler nicht nur 2 Zahlen sondern 3 oder mehr eingeben will. Würde es was ausmachen oder zu Fehlern führen wenn ich jetzt z.B. 3 Edit-Felder hab und geb aber nur in 2 was ein? Gibt es noch eine andere Methode im GUI Variablen einzugeben welche dann zur Rechnung benutzt werden können?
Zudem: wenn die Anzahl der Eingaben variabel sein soll, ist ein Vektor doch ideal?
Ob es ohne Eingabe zu einem Fehler kommt, hängt davon ab, was du programmierst.
Grüße,
Harald
Patrick123
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 22.04.2012, 17:21
Titel:
Ok wenn ich den code wie am Anfang nehme müsste ich die variablen mit eval() dann weider lokal benutzen können oder sollte ich gar nicht mit assignin arbeiten?
ich würde assignin etc. vermeiden, wo es nur geht. Hier sehe ich keinen Grund dafür.
Grüße,
Harald
Patrick123
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 22.04.2012, 18:08
Titel:
Alles klar, danke für deine Mühe.
MfG Patrick
Einstellungen und Berechtigungen
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
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.