Grafische Analyse mit DATA: Ein Messwert kommt selten allein

Überall in Industrie und Forschung fallen sie an: Zahlenkolonnen aus Experimenten, die ausgewertet werden wollen. Die geeignete grafische Darstellung ist da nicht nur hilfreich, sondern zumeist unumgänglich, um totes Zahlenmaterial zum Leben zu erwecken. Im ST-Zeitalter soll diese lästige Arbeit natürlich vom Rechner übernommen werden, der flexibler ist als Bleistift, Millimeterpapier und Kurvenlineal. Mit DATA von TmS ist ein leistungsfähiges Programm auf dem Markt, das keine Wunsche offen läßt - oder doch?

DATA bietet eine reiche Funktionspalette. um Meßwerte in eine grafisch ansprechende Form zu bringen. Es werden alle vier Bereiche der klassischen numerischen Mathematik abgedeckt, als da wären:

Wobei der Schwerpunkt auf den ersten beiden Punkten liegt. Neben diesem grundlegenden mathematischen Rüstzeug bietet DATA noch eine Reihe von Annehmlichkeiten, die aus einem lauffähigen Programm erst eine professionelle Applikation machen. Doch fangen wir der Reihe nach an:

Programm

DATA ist in GFA-BASIC 2.02 geschrieben und compiliert worden. Zum Test lag bereits die neue Version vor, die in GFA 3.03 entwickelt worden ist. Sobald der entsprechende Compiler erhältlich ist, steht sie zur Verfügung. Am Programmkonzept wurde allerdings nichts geändert. Es sind einige Kanten und Ecken ausgebügelt worden, um die Benutzerführung noch weiter zu verbessern. Als GEM-Benutzer fühlt man sich sofort heimisch, die Einarbeitung bereitet keine Probleme. Erwähnenswert in diesem Zusammenhang ist die zweite Menüleiste am unteren Bildschirmrand, die nur sichtbar wird, wenn man sich mit dem Mauszeiger in diesen Bereich bewegt (Bild 1). Diese Vorgehensweise ist zwar untypisch für GEM, hat aber den Vorteil, daß die einzelnen Menüpunkte nicht so überladen sind und übersichtlich bleiben. Der kleine Schönheitsfehler, daß man nach der Benutzung des unteren Menüs erst mit der Maus ‘klicken' muß, um das obere - reguläre - wieder zu erreichen, läßt sich leicht verschmerzen. Nach der Einarbeitungsphase erleichtern Shortcuts - also Kontrollsequenzen - die zügige Arbeit mit dem Programm, und ersparen dem Anwender so manchen Menübaum.

Bild 1: Doppelt genäht hält besser: untere Menüleiste

Sicherheit

Während meines Tests habe ich keine ‘Abstürze' erlebt. Zuweilen sind allerdings Programmfehlermeldungen aufgetreten, die aber wohl auf mein Konto gehen. In bewährter Testermanier habe ich erst mal alle ‘Knöpfe' gedrückt und geschaut, wie das Programm damit fertig wird. Da hat sich dann sehr schnell gezeigt, daß ich es hier nicht mit einem - dem blinden Gehorsam verfallenen - Pferd zu tun hatte, sondern mit einem charakterstarken Esel. Wie man weiß, verweigert so ein Genosse gänzlich die Mitarbeit, wenn man Unmögliches von ihm verlangt. Ein Pferd dagegen kann man totreiten. Für DATA entsteht eine solche prekäre Situation, wenn man eine Interpolations- oder Approximationsfunktion auf ungeeignete Meßreihen losläßt. Eine mathematische Funktion - und um eine solche handelt es sich hier - ist nur in einem bestimmten Bereich definiert. Überschreitet man diesen Definitionsbereich, muß es zwangsläufig zu Fehlem kommen. Für kubische Splines gilt zum Beispiel die Einschränkung, daß die X-Werte streng monoton ansteigen müssen. Geschlossene Kurven, wie sie in der Strömungslehre und bei geographischen Höhenlinien Vorkommen, lassen sich deshalb mit kubischen Splines nicht erzeugen. Hier kommen zyklische Splines zur Anwendung, die diese Einschränkung nicht haben. Dem Benutzer von DATA obliegt hier also eine gewisse Eigenverantwortung. damit er nicht wahllos mathematische Verfahren auf völlig ungeeignete Meßwerte losläßt. Aber keine Angst, mehr als eine Fehlermeldung hat es bei mir nicht gegeben, obwohl es im Handbuch heißt, daß nach mehrmaligen Fehlermeldungen unter Umständen ein Reset vorteilhaft ist. In eine derart ausweglose Situation bin ich allerdings nicht gekommen - trotz aller Anstrengungen.

Regression / Approximation

Diese Funktionen verwendet man immer dann, wenn - was meistens der Fall ist - die Meßwerte fehlerbehaftet sind. Die Bildkurve soll die Meßwertschwankungen möglichst gut anpassen. Die Stützstellen dienen lediglich als Orientierungshilfe. Bei den verschiedenen Spline-Approximationen besteht zudem häufig die Möglichkeit, einen Glättungs- oder Gewichtungsparameter anzugeben. Diesen kann man entweder für jede Stützstelle individuell angeben, und er ist damit ein Maß fürdie Bedeutung und die Zuverlässigkeit derselben, oder aber global für alle Stützwerte den gleichen Wert. DATA bietet folgende Regressions- und Approximationsfunktionen an:

Regression

Approximation:

Dabei sind die Regressionsfunktionen eigentlich alle Spezialfälle der Approximationsfunktionen. Aber der Anwender kann sich unter einer parabolischen Regression oftmals mehr vorstellen als unter einem Fitpolynom 2. Grades, obwohl - im mathematischen Sinne - beides dasselbe ist. Findet aber der Benutzer unter der Vielzahl von Funktionen nichts Passendes, so hat er beim Gaußschen Fitpolynom die Möglichkeit, selber eine Funktion zu definieren. Diese Funktion kann maximal 20 Parameter haben, mit denen sie im Verlauf der Rechnung an die Meßwerte angepaßt wird (Methode der kleinsten Quadrate) (Bild 2). Da diese Formel ständig interpretiert werden muß, dauert die Berechnung natürlich länger als bei den fest eingebauten Funktionen. Auch wird hier wieder der Benutzer in die Pflicht genommen. Hat man nämlich zu den Meßwerten falsche Startwerte, Parameter oder Formeln eingegeben, kommt es entweder zu einer Fehlermeldung oder aber die Berechnung dauert sehr, sehr lange. Zu den Splines möchte ich an dieser Stelle nur soviel sagen, daß sie einen schönen glatten Kurvenverlauf ergeben und für jede Meßreihe etwas Passendes dabei ist. Die mathemathischen Aspekte sind einen eigenen Grundlagenartikel wert.

Bild 2: Eingebauter Formelinterpreter

Interpolation

Bei der Interpolation sucht man eine Funktion, welche exakt durch die Meßwerte läuft. Am gefälligsten schauen natürlich wieder die verschiedenen Spline-Funktionen aus, doch DATA bietet auch einfachere Verfahren an:

Die einfachste Möglichkeit, der Polygonzug, verbindet die einzelnen Stützstellen durch Geraden miteinander. Die verschiedenen Polynomfunktionen unterscheiden sich kaum im optischen Ergebnis. Der Unterschied liegt in den Algorithmen und damit in der Schnelligkeit und Genauigkeit der Berechnung.

Bei der Interpolation (natürlich auch bei der Approximation) durch Polynome hat es sich gezeigt, daß bei höheren Polynomgraden (ab etwa 10) die Funktion zwischen den Stützwerten stark oszilliert. Das ist in den allermeisten Fällen nicht erwünscht, da dies den funktionalen Zusammenhang nicht wiedergibt. Abhilfe schaffen die Splines. Ursprünglich war ein Spline eine lange, biegsame Latte, welche die englischen Schiffsbauer als Schablone für ihre Bootsrümpfe benutzten. Heute versteht man unter einem Spline ein mathematisches Verfahren, um durch vorgegebene Punkte eine glatte Kurve zu legen. Die verschiedenen Spline-Arten stellen - wie schon mehrfach angedeutet - unterschiedliche Anforderungen an die Meßwerte und haben dementsprechend spezielle Anwendungsgebiete.

Eine Besonderheit ist das Kurvenlineal. Mit ihm kann man zwischen zwei ausgewählten Punkten fast beliebig interpolieren. Mit der Maus werden die beiden Punkte markiert und auch der Kurvenverlauf festgelegt (Bild 3). Dies ist genauso einfach wie das Aufziehen eines Kreises oder einer Ellipse in einem Mal- oder CAD-Programm.

Numerische Integration und Differentiation

Oftmals ist die Fläche unter dem Graphen interessant, weil sie einen physikalischen Sachverhalt ausdrückt, zum Beispiel die gespeicherte Energie in einem Kondensator. Oder man hätte gern die erste Ableitung. etwa weil sie die Geschwindigkeit eines Vorganges wiedergibt.

Alles kein Problem für DATA. Unter dem Menüpunkt OPTION finden sich - neben anderen nützlichen Funktionen - auch diese beiden. Beim Integrieren markiert man mit Hilfe der Maus die Grenzen. Sofort wird das Intervall schraffiert dargestellt, und der Wert erscheint auf dem Bildschirm. Er muß nur noch mit der Maus plaziert werden - fertig.

Beim Differenzieren werden auf Wunsch die ersten 3 Ableitungen in das gleiche Koordinatensystem eingezeichnet.

So, das war der Pflichtteil von DATA. Jetzt kommt die Kür, also die Funktionen, die das Bearbeiten von Meßwerten komfortabel und die grafische Darstellung professionell machen.

Bild 3: Biegsam und wendig: das Kurvenlineal

Systemparameter

Die Einstellung der Systemparameter erfolgt im Menü SYSTEM. Hier wird eine erste Vorentscheidung getroffen, wie später die grafische Darstellung erfolgt. Ähnlich dem Desktop kann man unter DATEI mit ‘Arbeit sichern’ alle wichtigen Parameter speichern, damit sie bei jedem Neustart des Programms sofort vorhanden sind.

Neben den Parametern für die Anzahl der Nachkommastellen, die Unterteilung der Koordinatensysteme oder Rasterung derselben, ist vor allem die Wahl des Koordinatensystems an sich wichtig. DATA bietet ein mathematisches und ein physikalisches Koordinatensystem an. Die Unterschiede liegen vor allem in der Flexibiltät. Das mathematische System ist fast fest definiert. Dafür ist es schneller als das physikalische und eignet sich also für den raschen Überblick. Große Geschwindigkeitsunterschiede konnte ich aber nicht feststellen, doch ich hatte auch nur Meßreihen mit ca. 20 Wertepaaren. Der Clou beim physikalischen System liegt in seiner frei definierbaren Größe. Damit ist es möglich, neben einem Hauptdiagramm mehrere kleine Unterdiagramme zu erzeugen (Bild 4). Außerdem kann man bei diesem Koordinatensystem eine neue rechte Achse mit einer anderen Skalierung setzen und damit zwei Graphen mit unterschiedlichem Wertebereich gemeinsam darstellen. Natürlich lassen sich auch verschiedene Funktionen überlagern und damit ganze Funktionsscharen zeichnen (Bild 4).

Mit diesen beiden Koordinatensystemen werden die meisten Anwendungen bereits abgedeckt. Manchmal ist aber auch ein logarithmisches oder doppelt-logarithmisches Koordinatensystem vorteilhaft. Dieses System ist in seinen Abmessungen genauso flexibel wie das physikalische. Bei manueller Bemaßung kann man die maximalen und minimalen 10erpotenzen angeben.

Optionen

In diesem Menü findet man unter anderem neben dem schon erwähnten Kurvenlineal, dem Integrieren und Differenzieren folgende nützliche Funktionen:

Es besteht die Möglichkeit, aus diesem Menü heraus eine Hardcopy aufzurufen, eine Diskette zu formatieren und sich einen Überblick über die Speicherplatzbelegung der ganzen Diskette und einzelner Files zu verschaffen. Mit einem Fadenkreuz kann man die Kurve abfahren und bekommt die jeweiligen x/y-Koordinaten angezeigt. Zwei wichtige Menüpunkte sind das ‘Expandieren’ und die ‘Fehlerbalken’.

Oftmals möchte man ein bestimmtes Intervall über die gesamte Koordinatenkreuzlänge darstellen, um bestimmte Details hervorzuheben. Dies ist mit Expandieren möglich. Das Intervall selektiert man wie beim Integrieren mit der Maus.

Die meisten Meßwerte haben eine mehr oder weniger große Meßunsicherheit. Für solche Meßreihen nimmt man bekannt lieh Approximationsfunktionen, weil die Interpolation den funktionalen Zusammenhang verfälschen würde. Mit den Fehlerbalken hat man nun die Möglichkeit, diese Meßfehler auch grafisch darzustellen. Die Fehlerbalken gelten nur für die y-Achse und werden immer symmetrisch zu den Meßdaten eingetragen. Wie bei den Glättungs- und Gewichtungsparametern kann man die Meßunsicherheit für jeden Datenpunkt einzeln angeben oder für alle global (Bild 5).

Bild 4: Das physikalische Koordinatensystem macht's möglich

Datenspielereien

DATA legt besonderen Wert darauf, die einmal eingegebenen Daten nachträglich manipulieren zu können. Doch zunächst einmal müssen diese in den Rechner gelangen. Da die Meßwerterfassung von einem anderen Programm, eventuell mit einem anderen Rechner erfolgt, verwendet DATA das bekannte ASCII-Format. Dieses Format kann von allen Programmiersprachen aus angelegt werden, und man muß sich keine großen Gedanken um das leidige Konvertieren machen. Es muß nur sichergestellt werden, daß abwechselnd die X- und Y-Werte geschrieben werden. Die Länge erkennt DATA automatisch. Geplant ist die zusätzliche Einführung von eigenen Formaten, deren Informationsgehalt höher ist. Dazu bittet der Autor allerdings um Rückmeldung von den Anwendern, damit ein gewisses Standardformat geschaffen werden kann.

Selbstverständlich ist es möglich - über einen eingebauten Editor -, die Daten per Hand ein- und auch formatiert auf dem Bildschirm oder Drucker auszugeben. Zusätzlich zu diesem Editor besteht im XY(-ARRAY) Menü die Möglichkeit, gezielt einzelne Datenpunkte zu ändern, zu löschen oder auch einzufügen. Interessanter sind da die Menüpunkte, die eine Änderung des gesamten X- oder Y-Arrays bewirken. Die beiden einfachsten Möglichkeiten vertauschen nur das X-und das Y-Array oder lassen beide rotieren. Unter Rotation versteht DATA, daß der letzte Wert zum ersten und der vorletzte zum zweiten Wert wird und so weiter. Bei diesen beiden Funktionen bleiben die Werte an sich aber unangetastet.

Das ändert sich, wenn man die Funktion ‘Kalibrieren' anwählt. Bei diesem Vorgang wird der alte Wert in die Geradengleichung y = m*x + t eingesetzt. Speziell: Zneu = slope * Zalt + Offset. Mit Slope wird die Steigung - oder Flanke - eingestellt und mit dem Offset die Verschiebung entlang der X- bzw. der Y-Achse. Mit den beiden Kurvenparametern Slope und Offset kann man den Graphen in seiner ursprünglichen Form sehr stark verändern. Mit dieser Funktion ist es möglich, eine ganze Kurvenschar darzustellen, deren Ursprung mit Hilfe des Offsets beliebig verschoben werden kann. Auf diese Weise habe ich die ‘Höhenlinien' in Bild 5 erzeugt.

Wem diese Möglichkeit noch nicht ausreicht, dem stehen neben den mathematischen Grundoperationen auch trigonometrische und Potenzfunktionen zur Verfügung, um das X-, das Y- und drei Puffer-Arrays miteinander zu verknüpfen (Bild 6).

Bild 5: Fehlerbalken und Kalibrieren

Grafik

Hierunter möchte ich die drei Menüpunkte BESCHRIFTUNG, GRAFIK und BLOCKFUNKTIONEN zusammenfassen, denn alle drei arbeiten pixelorientiert. Das GRAFIK-Menü ist in Bild 1 ausgeklappt zu sehen. Es enthält alle Standardelemente eines Grafikprogramms:

Die einzelnen Punkte sind aus den zahllosen Grafikprogrammen hinlänglich bekannt und bedürfen wohl für einen ST-Anwender keiner Erläuterung. Unter BLOCKFUNKTIONEN findet man ebenfalls Standardfunktionen eines Grafikprogramms wieder. Rechteckige Blöcke ausschneiden, spiegeln, stauchen, strecken, kopieren und abspeichern. BESCHRIFTUNG bietet ebenfalls das, was der Name vermuten läßt, erwähnenswert lediglich, daß man den Text für die Y-Achse um 90 Grad drehen kann. Aber das ist eigentlich auch selbstverständlich.

Was man aber in diesen drei Menüpunkten vergeblich sucht, ist die Möglichkeit, ein ganzes Bild - also nicht nur Ausschnitte - abzuspeichern oder zu laden. Aber natürlich läßt einen DATA hier nicht im Stich. Unter DATEI findet man die entsprechenden Funktionen. Abgespeichert werden die Bilder im ‘Screenformat' (32000 Bytes). Das ist das einfachste Format, und es sollte keine Schwierigkeiten geben mit der Übernahme in andere Programme. Zuweilen wäre aber eine größere Formatvielfalt vorteilhaft, entfiele doch das lästige Konvertieren.

Bild 6: Vielfältige Manipulations-Möglichkeiten der Daten-Arrays

Service

Das Besondere an diesem Programm ist die Tatsache, daß der Programmierer Dipl.-Phys.-Ing. Ralf Wirtz selber mit seinem Programm jeden Tag arbeitet und es ständig verbessert und weiterentwickelt. Es ist also aus der Praxis heraus geschrieben worden und keine Auftragsarbeit. Der Autor freut sich über jede konstruktive Kritik und läßt sie in die weitere Arbeit an DATA einfließen. Die Firma TmS, die DATA vertreibt, bietet einen Update-Service, so daß alle Anwender in den Genuß der Verbesserungen kommen. Für die nahe Zukunft ist eine Ausgabe in ein Meta-File geplant, um die erstellten Grafiken auch in obkektorientierte Programme übernehmen zu können. Damit ist dann auch die Ausgabe auf einen Plotter oder ein anderes Ausgabemedium möglich. Im Lieferumfang werden natürlich Druckertreiber für alle erdenklichen Typen enthalten sein.

Erst gegen Ende dieses Tests habe ich erfahren, daß DATA auf dem Markt noch gar nicht erhältlich ist. Es befindet sich noch im Endstadium der Testphase. Dem Programm merkt man dies aber nicht an, was wohl für die Gründlichkeit des Autors und der Firma TmS spricht. Gleichwohl können Ungeduldige bereits die Version in GFA 2.02 beziehen. Die endgültige Version soll dann mit dem Erscheinen des GFA-Compilers 3.0 verfügbar sein.

Schwächen

Große Schwächen oder Fehler habe ich nicht entdecken können. Sicher, die Bedienung kann hier und da noch verbessert werden, um mehr Durchgängigkeit zu erzielen. Aber in welchem Programm kann man das nicht? Auch wäre eine Umorientierung von der Pixelgrafik hin zur objektorientierten Grafik eine Verbesserung. Allerdings wird da wohl 1 MByte zu knapp werden, liegt DATA doch schon jetzt an der Grenze, was auf einem 1040-ST speicherplatzmäßig möglich ist. Wünschenswert ist auch eine optionale Bereichsüberprüfung der Meßwerte, damit man bereits vorher die geeignete Approximations- oder Interpolationsfunktion auswählen kann, und nicht erst die Fehlermeldung abwarten muß. 10 oder 20 Meßwerte sind ja noch überschaubar. Werden es aber 50 oder mehr, dann ist eine Bereichsüberprüfung von Hand sehr mühsam und fehleranfällig. Erfreulich ist aber das offene Ohr des Autors für Verbesserungsvorschläge. Somit macht DATA einen rundum gelungenen Eindruck. Es ermöglicht es, Meßwerte professionell grafisch darzustellen, und genau dafür ist es gedacht. Herrn Wirtz ist es gelungen, einen Standard aufzustellen, an dem sich andere Programme dieser Art werden messen lassen müssen.

C.D. Ziegler

Bezugsnachweis

TmS GmbH
Cranachweg 4
8400 Regensburg

Preis: 325,- OM Studenten erhalten 50% Rabatt, Universitäten 11%.



Aus: ST-Computer 04 / 1989, Seite 26

Links

Copyright-Bestimmungen: siehe Über diese Seite