Datensätze
Datensätze
Ein Datensatz ist eine Gruppe von inhaltlich
zusammenhängenden Datenfeldern.
Ein Datenfeld ist beispielsweise eine Artikelnummer, Artikelgröße,
Produktionsdatum etc.
Speziell in der Mathematik interessieren uns die Datenfelder
die wir in der Analysis als Wertetabelle benennen. Eine Wertetabelle weist eine
Natürliche oder Reelle Zahl mit konstanter Differenz der Zahlen anhand der
angegebenen Vorschrift (Funktion) das jeweilige Wertepaar zu.
Die Darstellung einer Funktion haben wir bereits kennengelernt.
Nun möchten wir jetzt lernen, wie man mehrere Funktionen in einem
Koordinatensystem darstellen kann.
Ein Plotter kann mehrere Datensätze verwalten. Dabei verfügt
jeder Datensatz über eigenen Werten für Farbe, Zeichenstil etc.
Dazu gibt es zwei Möglichkeiten wie man das zeichnen von
mehreren Funktionen in Java schreiben kann.
Bei der ersten Möglichkeit muss man die Methode „nextDataSet()“
aufrufen. Mit dem Aufruf dieser Methode wird automatisch in Plotter ein neuer
Datensatz angelegt. Nachfolgende Aufrufe von „add()“ werden dann automatisch
diesem neuen Datensatz zugeordnet. Der Nachteil ist, dass wir für 10 Funktionen
dementsprechend 10 Schleifen angeben müssen weshalb diese Möglichkeit
unübersichtlich sein kann.
for(double
x = -(Math.PI); x <= (Math.PI); x += 0.01) {
plotter.add(x, Math.sin(x));
}
plotter.nextDataSet();
for(double
x = -(Math.pi); x <= (Math.PI); x += 0.01) {
plotter.add(x, Math.cos(x));
}
Für eine kompaktere
Lösung kann man direkt die Datensätze ansprechen. Dazu muss man einen die
Benennung der jeweiligen Funktion als Datensatz angeben. Aus dem obigen Code
kann man dann das folgende herableiten.
Allgemein gelten
für die Datensätze folgende Aussagen:
- Am Anfang wird der interne Zähler auf 0 gesetzt.
Der dazugehörige Datensatz gilt zwar aktuell wird jedoch nach dem ersten
Zugriff angelegt.
- Wechselt man mit der Methode „nextDataSet()“ zu
einem anderen Datensatz, gilt dementsprechend dieser anderer Datensatz als
aktuell.
- Beim Aufruf der Methode „add()“ ohne die Bezeichnung
wird der aktuelle Datensatz verwendet und mit der Methode „add()“ wird der Wert
der jeweiligen Datensatz zugeordnet jedoch nicht als aktueller Datensatz
gesehen.
- Wenn ein angesprochener Datensatz noch nicht
vorhanden ist, wird er neu angelegt.
- Die gespeicherten Datensätze werden nummeriert und
intern gespeichert. Die erste Funktion beginnt mit 0. Die darauffolgenden
Funktionen bekommen die nächst größere Ganze Zahl als Stelle (Die Stelle muss frei
sein. Ansonsten bekommt die nächste Funktion einfach die nächstgrößere freie
ganze Zahl.).
Bei der Verwendung
spielen die Namen, die wir als Benennung definiert haben, keine Rolle. Die
Namen oder Benennungen sind nur für den Programmierer und dienen zur Vereinfachung.
Falls wir nur eine Funktion zeichnen wollen, müssen wir keine Bezeichnung
angeben.
Ein
Datensatz wird intern durch eine Instanz der Klasse „DataObject“ repräsentiert.
Im
wesentlichen besteht er aus einer Folge von Wertepaaren (x,y). Mit den
folgenden Methoden lassen sich Wertepaare hinzufügen oder löschen.
Methode Funktionsweise
void add(double
x, double y) fügt
das Wertepaar (x,y) an
void
addD(double dx, double dy) aus
dem letzten Wert (x,y) wird (x+dx, y+dy) hinzugefügt.
void add(double[]
feld) fügt
alle Werte aus dem übergebenen Feld an
void
removeOlt(int n) löscht
die ersten n Werte
Um alle
Punkte eines Datensatzes gemeinsam zu verschieben, können Offsetwerte für x-
und y-Richtung gesetzt werden. Mit den vier Methoden lassen sich die
entsprechenden Werte setzen und auch wieder abfragen.
Später
werden wir dies zeigen in dem wir Werte mehrfach nebeneinander versetzt
zeichnen zu können.
Von allen
diesen Methoden gibt es jeweils noch eine Variante mit dem Namen des
Datensatzes als zusätzlichen Parameter. In der Regel genügen jedoch die Methoden
der Klasse „Plotter“ für alle Zugriffe auf die „DataObject“-Instanzen.
Kommentare
Kommentar veröffentlichen