|
stpasink |

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 26.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 11:09
Titel: Variables Gui erstellen
|
 |
Hallo.
Ich will ein Gui für einen Verbrennungsmotor machen. Der Motor soll variable Zylinderanzahl haben. Der Abstand wird in Grad angegeben. Jetzt soll man in einem Gui die Anzahl der Zylinder auswählen können. Anzahl ( zum Beispiel von 1 bis 20 oder so). Dann muss irgendwo ein Fester aufgehen ( mit der richtigen Anzahl an edit-text Feldern(entspricht der Anzahl der Zylinder), wo der Abstand angegeben werden kann.
Das ganze muss veränderlich sein. Wenn ein Nutzer ein 4 Zylinder Motor haben will, dann müssen dort 4 edit-text Felder erscheinen. Die Werte werden dann an die Funktion übergeben.
Wie kann man das umsetzen?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 11:38
Titel:
|
 |
|
|
stpasink |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 26.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 12:18
Titel:
|
 |
Hallo Harald,
In deinem Beispiel gibt es zwei verschiedene Parametereingaben und zwei check-boxen.
Ich studiere Maschinenbau. Ich schreibe eine Diplomarbeit und muss dort mit Matlab arbeiten. Daher kenne ich mich nicht so gut mit dem Programm aus. Deine Lösung erscheint für mich daher etwas kompliziert.
In einem Gui muss man nur mit Radio Button anklicken das man den Zylinderabstand angeben will und wie viele Zylinder es sind. Dann muss sich bestimmte Anzahl (entspricht der Zylinderanzahl) an edit-text Feldern in anderem Gui öffnen. Die eingegebenen Daten werden dann eingelesen.
Gibt es da vielleicht eine einfachere Lösung, die auch für mich "Nichtprogrammierer" verständlich ist.
|
|
|
stpasink |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 26.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 13:02
Titel:
|
 |
Hallo Harald,
ich habe mir etwas überlegt. Ich habe was von visible im Gui gehört. Wahrscheinlich werde ich ca. 20 edit-text Felder machen. Wenn man in einem Gui 4 Zylinder auswählt, dann sollen in dem anderen Gui nur die ersten 4 edit-text Felder sichtbar sein. Die restlichen Felder sollen ausgeblendet sein. Danach sollen die eingelesenen Daten an die Funktion übergeben werden.
Wie kann man das programmieren bzw. umsetzen?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 13:11
Titel:
|
 |
Hallo,
bitte die Frage konkretisieren.
Was hast du bis jetzt versucht, und wo liegen die Probleme?
Grüße,
Harald
|
|
|
stpasink |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 26.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 13:19
Titel:
|
 |
Hallo Harald,
ich habe das erste Gui erstellt. Dort kann gibt es unter anderem ein edit-text Feld, wo ich die Anzahl der Zylinder angeben kann. Dann habe ich ein zweites Gui mit 20 edit-text Feldern erstellt. Wenn ich im ersten Gui zum Beispiel in das eine edit-text Feld 4 eingebe. Dann muss sich das zweite Gui öffnen. Dort darf nur eine bestimmte Anzahl an Feldern sichtbar sein (in diesem Fall 4 Felder). Die restlichen sollen unsichtbar sein. Dann werden in diese vier Felder Daten eingegeben. Die werden an das erste Gui übergeben.
Ich weiß wie es funktionieren soll, aber nicht wie man das umsetzen soll?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 13:35
Titel:
|
 |
Hallo,
du beschreibst schön, was du machen möchtest. Ich kann aber immer noch bestenfalls raten, wo die genauen Probleme bei der Umsetzung liegen.
Elemente unsichtbar machen --> Eigenschaft 'Visible' auf 'off' setzen.
Daten zurückgeben --> als Rückgabeargument in der OutputFcn definieren.
Grüße,
Harald
|
|
|
stpasink |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 26.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 14:12
Titel:
|
 |
Hallo,
hier ist meine frage etwas konkreter dargestellt: Wie und wo kann ich Visible' auf 'off' setzten? Wie gesagt wenn ich im ersten Gui 4 Zylinder eingebe. Dann müssen in dem anderen Gui 16 von 20 Felder auf Visible 'off' eingestellt werden. Das heißt dass nur 4 Felder sichtbar sein müssen. Ich will ja nicht jedes mal die nicht gewünschte Anzahl an Felder manuell unsichtbar machen. Das muss das Programm selbst können. Ich weiß jetzt nicht wie und wo ich das programmieren soll?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 17:08
Titel:
|
 |
Hallo,
wobei handle das Handle auf das editierbare Textfeld, z.B. handles.edit1 ist.
Wenn mehrere durchnumerierte editierbare Textfeld unsichtbar gemacht werden sollen, ginge das z.B. für edit5 bis edit20 so:
Grüße,
Harald
|
|
|
stpasink |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 26.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2015, 17:32
Titel:
|
 |
Danke dir! Es hat geklappt!
|
|
|
stpasink |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 26.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.07.2015, 11:52
Titel:
|
 |
Ich wollte aus dem, was du mir vorgeschlagen hast
for I=5:20
das hier machen
Ich habe zum Beispiel in das edit-text Feld für Zylinderanzahl 4 eingegeben.
Und in die Felder edit1 bis edit4 habe ich die Zahlen 1, 2, 3 , 4 eingegeben dann bekomme ich folgendes raus
Und wenn ich das Ganze so eingebe, dann bekomme ich auch nicht den in diesem Fall gewünschten Vektor Beta1=[1,2,3,4] sondern:
in Workspace
Woran liegt das?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.07.2015, 14:09
Titel:
|
 |
Hallo stpasink
Wozu definierst Du Beta1 als 1:k, wenn Du die Elemente doch gleich wieder überschreibst?
Beta1 ist danach ein
double
Vektor. Wenn Du nun die Buchstaben, also
char
Werte von 1 bis 4 darin einträgst, bekommst Du deren ASCII-Codes.
Wenn Du die Zaheln bekommen möchtest, benötigst Du wieder
str2double
oder ich bevorzuge
sscanf
:
Gruß, Jan
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|