Grafische Benutzerschnittstelle für Matlab


Fachbuch, 2011

43 Seiten


Leseprobe


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 (Gra­phical 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 Bildschirmbe­reich. Fuör das Menu gilt:
- Alle Elemente eines Menus werden untereinander in einem Figure ange­ordnet.
- 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 Menu­programms umgesetzt.
- Eine Menuzeile wird bei der Programmierung durch einen String darge­stellt. 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 Trenn­zeichen 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 Spezialbedeu­tung 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 Hinter­grundfarbe aus den Standardfarben cmyrgbwk wählbar. Für die Hinter­grundfarbe ist zusatzlich grau (gr) müglich.

Bei fehlenden Angaben wird für die Hintergrundfarbe k und fur die Vor­dergrundfarbe 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 be­schrieben.

Tabelle 3.1: Properties der Panelfunktion

Abbildung in dieser Leseprobe nicht enthalten

Bei Einstellung der Property Hilfe auf 'yes' wird bei Betätigung des erzeug­ten 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 Zeichnungs­fenster. 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 aus­gegeben.

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 Eingabebe­reich 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 verse­hen 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 aus­gelesen und den Variablen aí, · ·· an oder den Elementen des Vektors v zuge­ordnet. 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.

[...]

Ende der Leseprobe aus 43 Seiten

Details

Titel
Grafische Benutzerschnittstelle für Matlab
Hochschule
Hochschule für angewandte Wissenschaften Würzburg-Schweinfurt  (Elektrotechnik)
Autor
Jahr
2011
Seiten
43
Katalognummer
V184839
ISBN (eBook)
9783656105237
ISBN (Buch)
9783656105916
Dateigröße
492 KB
Sprache
Deutsch
Schlagworte
grafische, benutzerschnittstelle, matlab
Arbeit zitieren
Professor Helmut Roderer (Autor:in), 2011, Grafische Benutzerschnittstelle für Matlab, München, GRIN Verlag, https://www.grin.com/document/184839

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Grafische Benutzerschnittstelle für Matlab



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden