Drei Eigenschaften zeichnen Matlab aus:
1. Umfangreiche Programme zur Lösung mathematischer Probleme.
2. Vielfältige Möglichkeiten zur grafischen Darstellung von Ergebnissen.
3. Funktionen zum Aufbau einer grafischen Mensch-Maschine-Schnittstelle (Graphical User Interface (GUI))
Eine mögliche Realisierungsform der Mensch-Maschine-Schnittstelle ist Gegenstand dieser Abhandlung.
Inhaltsverzeichnis
1 Einführung
2 Definition eines Menus
3 Die Standardversion des Menus
3.1 Erzeugung
3.2 Funktionen für das Menu
3.3 Funktionen für Figures
3.4 Entfernung von Menus und Zeichnungsfenstern
3.5 Meldungsfenster
4 Funktionen für Bedienelemente
4.1 Einführende Bemerkungen
4.2 Pushbuttons
4.3 Eingabefelder
4.3.1 Einführung
4.3.2 Numerisches Auslesen der Eingabefelder
4.3.3 Alphanumerisches Auslesen der Eingabefelder
4.3.4 Setzen der Eingabefelder
4.3.5 An- und Abschalten von Eingabefeldern
4.4 Ausgabefelder
4.5 Slider
4.6 Checkboxes
4.7 Radio Buttons
4.8 Popup Menus
4.8.1 Auslesen und Einstellung eines Popup Menus
4.8.2 Änderung der Belegung eines Popup Menus
4.8.3 Schalten von Popup Menus
4.9 Meldungen
5 Popup Menu im Menubar des Zeichnungsfensters
6 Contextmenus
7 Menuverwaltung bei geschachtelten Funktionen
8 Dokumentation
8.1 Erzeugen von Postscript-Files
8.2 Einbinden von Postscript-Files in TEX-Files
9 Muster-Menuprogramm
10 Muster für Hauptprogramm und Unterprogramm
10.1 Hauptprogramm
10.2 Unterprogramm
11 Bemerkung zur Historie
12 Download der Software
13 Liste der Funktionen
1 Einführung
Drei Eigenschaften zeichnen Matlab aus:
- Umfangreiche Programme zur Lösung mathematischer Probleme.
- Vielföltige Möglichkeiten zur grafischen Darstellung von Ergebnissen.
- Funktionen zum Aufbau einer grafischen Mensch-Maschine-Schnittstelle (Graphical User Interface (GUI))
Eine mögliche Realisierungsform der Mensch-Maschine-Schnittstelle ist Gegenstand dieser Abhandlung. Die Standardversion besteht im Kern aus drei Elementen:
- Einem Menu mit in der Regel frei wöhlbarer Breite im linken Bildschirmbereich. Fuör das Menu gilt:
- Alle Elemente eines Menus werden untereinander in einem Figure angeordnet.
- Das Beispiel in Abbildung 1.1 wurden mit dem Muster-Menuprogramm, das in einem spöteren Kapitel dokumentiert wird, erzeugt.
- Die Menuelemente wurden auf der Basis der Matlabfunktion uicontrol entwickelt.
- Sie sollen den Aufruf von Funktionen, die Auswahl aus mehreren Pro- grammmoöglichkeiten, die Dateneingabe und begrenzt die Datenausgabe ermöoglichen.
- Jede Betatigung einer aktiven Menuzeile wird in eine Aktion des Menuprogramms umgesetzt.
- Eine Menuzeile wird bei der Programmierung durch einen String dargestellt. Diese Strings werden in der Reihenfolge der Menuzeilen in eine Stringmatrix zusammengefasst.
- Einem Zeichnungsungsfenster, verkürzt auch nur Fenster oder Figure genannt, auf dem restlichen Bildschirm.
- Weitere Hilfsmenus und Darstellungsfenster.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1.1: Beispiel für ein Menu
2 Definition eines Menus
Eine Menuvereinbarung wird als Stringmatrix dargestellt. Ein Menuelement wird durch eine Zeile, auch Definitionsstring genannt, beschrieben.
Bei der Realisierung des Menu erscheinen die Elemente untereinander in der Reihenfolge, die durch die Zeilenfolge in der Stringmatrix festgelegt ist.
Die verschiedenen Menuelemente mit den zugehörigen Definitionsstrings sind in Tabelle 2.1 zusammengefasst.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 2.1: Elemente eines Menu
In der Spalte A ist die Zahl der Zeilen für die Realisierung eines Menuelements angegeben.
Es ist folgendes dabei zu beachten:
- Mit { } geklammerte Angaben künnen entfallen.
- Die Teilstrings der Form CB sind Abkürzungen fur die Callbackfunktion 'cbfun(n, m)'. Dieser String kann auch verkürzt mit *n, m dargestellt werden. n und m sind Kennzahlen. m kann fehlen. Der String cbfun wird dann in der Funktion panel gewühlt.
- In der obigen Tabelle wird im Definitionsstring das Zeichen / als Trennzeichen benutzt. Es kann nahezu jedes Zeichen als Trennzeichen benutzt werden. Die Ausnahmen sind:
* Das Zeichen * darf nicht als Trennzeichen benutzt werden.
* Das Zeichen | darf nicht als Trennzeichen in Menus verwendet werden, in denen ein Popup Menu vorkommt, da es dann eine Spezialbedeutung erhült.
- Bei den Checkboxes werden Text immer und Aus - Text bzw. Ein-Text nur bei der entsprechenden Stellung angezeigt.
- Bei der Meldungszeile ist sowohl die Vordergrund- als auch die Hintergrundfarbe aus den Standardfarben cmyrgbwk wählbar. Für die Hintergrundfarbe ist zusatzlich grau (gr) müglich.
Bei fehlenden Angaben wird für die Hintergrundfarbe k und fur die Vordergrundfarbe w gesetzt.
- Alle Elemente gleichen Typs (mit Ausnahme der Radiobuttons) werden, beginnend mit Eins, fortlaufend nummeriert.
- Zusammengehärige Radiobuttons werden als Gruppe bezeichnet. Eine Gruppe wird durch eine Gruppennummer gekennzeichnet.
- Wirkungen, die durch Aktivierung von Menuzeilen entstehen, kännen auch durch Eingaben im MCW erreicht werden. Das Verfahren wird bei der Beschreibung der Bedienfunktionen erlautert.
3 Die Standardversion des Menus
3.1 Erzeugung
- Die Standardversion eines Menus wird mit den Properties in Tabelle 3.1 beschrieben.
Tabelle 3.1: Properties der Panelfunktion
Abbildung in dieser Leseprobe nicht enthalten
Bei Einstellung der Property Hilfe auf 'yes' wird bei Betätigung des erzeugten Pushbottons der erste Kommentarblock der rufenden Funktion im Help- Fenster angezeigt.
Jedem Menuelement ist ein Handle zugeordnet. Die Handles der Elemente gleichen Typs sind zu Vektoren zusammengefasst. Die Tabelle 3.2 zeigt die Struktur der Handles.
Tabelle 3.2: Struktur des Handle H
Abbildung in dieser Leseprobe nicht enthalten
Zusammen mit dem Menu kann auch ein Figure erzeugt werden. Hierzu ruft man die Funktion:
[H,F]=panel(’Propertyname’,Propertyvalue, ...)
H: Handlestruktur des Menus, F: Figure-Handle.
Nur die ersten vier Buchstaben des Propertynamens werden bei der Auswertung benutzt.
Ein angegebener Propertyvalue ersetzt den Defaultwert.
3.2 Funktionen für das Menu
- Es können auch mehrere Menus in einem Programm existieren. Sie werden nacheinander mit der Funktion panel erzeugt.
- Zur Umschaltung zwischen je zwei Menus dient die Funktion: mensw(H1,H2) Umschalten von Menu 1 auf Menu 2
- Man kann das Menu auch an- und abschalten: menon(H) Menu wird sichtbar.
menoff(H) Menu wird unsichtbar.
- Wird das Menu aus irgend einem Grund am Bildschirm verschoben, so kann es mit der Funktion menuverschieben(H) wieder auf seinen programmierten Platz verschoben werden. Funktionen fur Figures Beliebig viele Figures können erzeugt, gelöscht oder geleert werden: figure(F) Erzeugen delete(F) Löschen figcl(F) Leeren
Bei manchen Anwendungen benötigt man neben dem Menu zwei Zeichnungsfenster. Um dies zu erreichen, erzeugt man mit panel das Menufenster und ein Fenster.
Das zweite Fenster erzeugt man nun mit:
B=fensterteilung(A,Name,sw) Aufspalten in zwei Fenster
A ist der Handle des aufzuspaltenden Fensters. Nach Abschluß der Funktion ist es der
Handle des linken oder oberen Fensters.
sw=’senkr’: Nebeneinander liegende Fenster.
sw=’waag’: Übereinander liegende Fenster.
B ist der Handle des rechten oder unteren Fensters mit dem Namen.
Ein weiteres Fenster wird unter dem Menu mit Handle H mit
Z=makefig(H,’Name’)
gebildet.
Man kann das Zeichnungsfenster ebenfalls an- und ausschalten:
Zeichnungsfenster wird sichtbar. Zeichnungsfenster wird unsichtbar.
Menu und Zeichnungsfenster werden sichtbar. Menu und Zeichnungsfenster werden unsichtbar.
3.4 Entfernung von Menus und Zeichnungsfenstern
Zum Entfernen von Fenstern kann man die Matlabfunktion delete(Handle) oder auch:
delhand(H,{F} ,Fi...) Fenster zu allen angegebenen Handles entfernen.
Ist die Struktur H oder der Handle F ungültig, so sind die Funktionen wirkungslos. Siehe auch das Kapitel uber die Menuverwaltung bei geschachtelten Funktionen.
3.5 Meldungsfenster
Ein einfaches Meldungsfenster ergibt sich durch Aufruf der Funktion:
M=shortmsg({fname,nachr})
In einem Fenster mit Handle M mit Namen fname wird die Nachricht nachr ausgegeben.
Abbildung in dieser Leseprobe nicht enthalten
4 Funktionen für Bedienelemente
4.1 Einführende Bemerkungen
Bei den nachfolgenden Funktionsbeschreibungen gilt:
H ist stets der vollständige Handle-Vektor.
pos bezeichnet einen Vektor von Nummern der Menuelemente gleichen Typs auf die die Funktion wirken soll.
4.2 Pushbuttons
- Die Betätigung eines Pushbottons läst einen Programmaufruf (Callback) aus. Desweiteren kännen maximal zwei Kennziffern übergeben werden.
- Bezüglich ihrer Wirkung existieren zwei Arten von Pushbuttons:
- Typ 1: Es wird im Definitionsstring nur Textl und CB1 angegeben. Bei Betatigung wird der Callback 1 ausgeführt.
- Typ 2: Bei Betätigung wird zwischen den Beschriftungen und den beiden Callbacks getoggelt.
- Die aktuelle Beschriftung kann man auslesen:
str=getpbt(H,pos)
- Man kann die Beschriftung und den Callback eines Typl-Pushbuttons verändern. Hierzu dient die Funktion:
pbch(H,n,str{,cb})
Die Beschriftung (str) und der Callback (cb) des n-ten Pushbuttons wird geändert. Fehlt cb, so wird der alte Callback beibehalten. Nach einer Betati- gung wird die alte Einstellung wieder eingestellt.
- Der Callback eines Pusbutton kann ab- und wieder zugeschaltet werden. Hierzu dienen die Funktionen:
Abbildung in dieser Leseprobe nicht enthalten
4.3 Eingabefelder
4.3.1 Einführung
- Eingabefelder dienen der Eingabe von Daten und der Ausläsung von Callbacks.
- Ein Eingabefeld besteht aus einem Textfeld und dem eigentlichen Eingabebereich fur numerische oder alphanumerische Information. Bei der Initialisierung kann der Eingabebereich mit einem Wert belegt werden.
- Das Eingabefeld kann mit der Maus angesteuert und mit neuen Daten versehen werden.
- Steht der Cursor im Eingabefeld, so wird mit Return der angegebene Callback ausgeführt.
4.3.2 Numerisches Auslesen der Eingabefelder
Es existieren folgende Funktionen fur das Auslesen der Eingabefelder:
Numerisches Auslesen:
[a1,a2,· · -]=geti(H,pos) v=geti(H,pos)
Alle Eingabefelder, die im Vektor pos angegeben sind, werden numerisch ausgelesen und den Variablen aí, · ·· an oder den Elementen des Vektors v zugeordnet. Leere Felder und Felder mit alphanumerischem Inhalt werden als NaN interpretiert.
Numerisch Auslesen eines Vektors und zerlegen in seine Komponenten:
[a1,a2,· · -]=getiv(H,n)
Die Komponenten des Vektors werden einzeln ausgeben.
[...]
- Citation du texte
- Professor Helmut Roderer (Auteur), 2011, Grafische Benutzerschnittstelle für Matlab, Munich, GRIN Verlag, https://www.grin.com/document/184839
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X.