GFA-BASIC 3.5: Matrizenoperationen inklusive

Wer bisher versuchte, Matrizen mit GFA-BASIC 3.0 auszurechnen, mußte auf selbstgeschriebene Programme zurückgreifen. Ab sofort gehört die umständliche Rechnerei der Vergangenheit an: GFA Systemtechnik liefert nun die Version 3.5 ihrer Programmiersprache GFA-BASIC aus, bei der Matrizenbefehle bereits zum festen Wortschatz gehören.

Die Beweggründe von GFA Systemtechnik, eine Programmiersprache mit solch speziellen Befehlen herauszugeben, liegen im Dunkeln. Jeder Schüler, der einmal mit Matrizen gearbeitet hat, wird GFA-BASIC 3.5 allerdings nie mehr missen mögen, denn es ist eine recht große Erleichterung, den Computer die Rechenaufgaben lösen zu lassen. Wozu werden Matrizen überhaupt gebraucht? In kurze Worte gefaßt, kann man sagen, daß man sie bei der Berechnung komplexer Zahlen braucht und lineare Gleichungssysteme mit ihnen lösen kann. Sehen wir uns doch mal ein Gleichungssystem an:

	3x +2y +4z = 6
	2x -4y +z  = 2 
	x  +3y -4z = 3

Ein solches Gleichungssystem wird gewöhnlich durch eine Matrix, die sogenannte Koeffizientenmatrix, die den Koeffizienten vor den Unbekannten enthält, und einen Spaltenvektor, der die linearen Anteile der Gleichung enthält, dargestellt. Das sieht dann so aus:

	3  2  4		6
	2 -4  1		2
	1  3 -4		3

Multipliziert man nun die Koeffizientenmatrix mit einem Vektor, der die Unbekannten enthält, ergibt sich:

	3  2  4		X		3x + 2y + 4z
	2 -4  1	*	y	-	2x - 4y + z
	1  3 -4		z		 x + 3y - 4z

Die rechte Seite der Gleichung kennen wir bereits, wir können sie ersetzen:

	3  2  4		X		6
	2 -4  1	*	y	=	2
	1  3 -4		z		3

Um den Lösungsvektor zu isolieren, multiplizieren wir mit der Inversen der Koeffizientenmatrix und es ergibt sich:

	X			3	 2	 4		6
	y	= INV	2	-4	 1	*	2
	z			1	 3	-4		3

Nun stehen auf der rechten Seite nur noch bekannte Größen und man kann die Matrix ausrechnen, oder man läßt es GFA-BASIC tun. Soviel also zur grundsätzlichen Behandlung von Matrizen. Inwiefern kann man nun die Matrizen mit der neuen Version 3.5 berechnen und manipulieren? Dazu stehen eine Menge neuer Befehle zur Verfügung, die wir jetzt betrachten werden.

Matrizenbefehle

Alle neuen Matrizenbefehle beginnen mit der Abkürzung MAT, was es recht einfach macht, sich den neuen Sprachschatz schnell einzuprägen. MAT ABS erzeugt bei allen Komponenten einer Matrix positive Zahlen, indem die Vorzeichen gelöscht werden. Natürlich lassen sich Matrizen bzw. Vektoren auch addieren. Dabei können entweder Zahlen oder andere Matrizen auf eine Matrix addiert werden, auch die umgekehrte Form, also die Subtraktion, ist durch einen einzigen Befehl leicht zu bewerkstelligen. Auch andere Rechenoperationen wie Multiplizieren und Negieren. Weiterhin lassen sich die Matrizen kopieren und löschen.

Etwas mathematisch muß ich leider doch werden, um Ihnen alles erklären zu können. Wie sollte ich sonst begreiflich machen, daß man mit dem Befehl MAT DET die Determinante einer quadratischen Matrix ausrechnen kann? Dabei ist die Determinante gleich Null, wenn sich die Matrix invertieren läßt. Vorteilhaft: Eine Matrix läßt sich mit einem einzigen Befehl auf Diskette bzw. Platte abspeichern und wieder einiesen. Dazu existieren die Befehle MAT INPUT # und MAT PRINT#.

Matrizen kann man auch normieren. Normieren heißt, daß die Summe der Quadrate aller Komponenten in der jeweiligen Zeile/Spalte gebildet wird. Dann werden alle Komponenten durch die Wurzel der Summe geteilt. Nach der Normierung ist die Summe der Quadrate der jeweiligen Komponenten der Zeile/ Spalte Eins.

Bevor ich nun alle Befehle eingehend erläutere, sei den Mathematik-Freaks, Studenten und Gymnasiasten, die sich mit Matrizen beschäftigen (müssen), empfohlen, sich den Befehlsumfang der neuen GFA-BASIC-Version einmal bei einem Fachhändler anzuschauen.

Weitere neue Befehle

Nicht nur für „Matriker“ stellt die neue Version die entsprechenden Befehle zur Verfügung, auch vier andere mathematische Befehle haben Platz in der 3.5-Version gefunden. Ab sofort kann beispielsweise die Fakultät (n!) einer Zahl berechnet werden. Dazu existiert jetzt der Befehl FACT(n). y=VARIAT(n,k) wiederum berechnet die Anzahl der Variationen von n Elementen zur k-ten Klasse ohne Wiederholung und schreibt diesen Wert in die Variable y. Der letzte neue Rechenbefehl nennt sich COMBIN. Dieser Befehl berechnet den Binominalkoeffizienten, also die Anzahl von Kombinationen von n Elementen zur k-ten Klasse ohne Wiederholung.

Als letzte Neuerung bei den Befehlen sei DATA erwähnt: Er gibt an, wo der DATA-Zeiger steht. Der Datenzeiger kann allerdings auch gesetzt werden, indem _DATA ein Wert zugewiesen wird.

Neuerungen im Editor

Das Scrolling im Editor ist wesentlich schneller geworden. Das wird dadurch erreicht, daß für jede Programmzeile zwei Bytes mehr benötigt werden, in der einige Informationen für den Interpreter stehen. Lange Programme brauchen dadurch natürlich auch wesentlich mehr Speicherplatz im Editor. Normalerweise wird der Programm-Code aber nicht so lang, daß man dadurch einen Nachteil erleidet. Ein mit der 3.5-Version compiliertes Programm ist dagegen genau so lang wie ein mit der 3.0x-Version compiliertes.

Endlich!! kann auch in den Kopfzeilen geschlossener Prozeduren bzw. Funktionen gesucht werden, d.h. bei der Suchfunktion mit F6 bzw. Control-F wird auch dann etwas gefunden, wenn der gefundene Begriff in der ersten Zeile einer eingeklappten Prozedur steht. Sie lesen richtig, auch Funktionen können jetzt durch Druck auf FIELP eingeklappt werden.

Beim Auflisten werden Labels, also Sprungmarken, um zwei Zeichen nach links eingerückt dargestellt (wie bei SE-LECT CASE). Die Logik dieser Funktion wage ich zu bezweifeln. Labels, die sowieso schon am linken Rand stehen, können beispielsweise nicht mehr eingerückt werden, da sie ja dann „aus dem Bildschirm fallen“ würden.

Mit Tab, Control-Tab, Shift-links-Tab und Shift-rechts-Tab kann ab sofort zur nächsten oder vorhergehenden Tabulatorposition gesprungen bzw. Leerzeichen bis zur nächsten oder vorhergehenden Tabulatorposition eingefügt werden.

Natürlich wird auch ein 28seitiges Handbuch-Update zum Einheften in den 3.0x-Ordner mitgeliefert, in dem alle neuen Befehle eingehend beschrieben sind.

Preise

Für all diese Neuerungen müssen DM 70,- als Upgrade-Preis bezahlt werden. Zum Upgrade von Version 3.0x auf Version 3.5 sind beide Originaldisketten (Compiler- und Interpreter-Diskette) an GFA Systemtechnik einzuschicken. Weitere Auskünfte hierzu erhalten Sie bei GFA Systemtechnik in Düsseldorf. Wer noch kein GFA-BASIC besitzt, kann das Entwicklungssystem 3.5 für DM 268,-inklusive Compiler kaufen.

Für alle Mathematiker, Schüler und Studenten ist die Version 3.5 sicher eine lohnende Anschaffung. Zum einen ist der Editor wesentlich schneller im Scrolling geworden, was sich besonders bei längeren Programmen positiv bemerkbar macht. Zum anderen sind die neuen Befehle doch recht komfortabel und für jeden, der sich mit Matrizen beschäftigt, unentbehrlich.

MP

Bezugsadresse:

GFA Systemtechnik GmbH Heerdter Sandberg 30-32 4000 Düsseldorf 11



Aus: ST-Computer 03 / 1990, Seite 20

Links

Copyright-Bestimmungen: siehe Über diese Seite