Prog1Tools
Class Interval

java.lang.Object
  extended by Prog1Tools.Interval

public class Interval
extends java.lang.Object

Diese Klasse stellt eine Klasse für die Realisierung von Maschinenintervallarithmetik unter Java zur Verfuegung


Field Summary
static boolean PRINT_EXACT
          Sollen die Intervallgrenzen exakt (ohne Konvertierung) ausgegeben werden, muß diese Variable auf true gesetzt werden.
 
Constructor Summary
Interval(double val)
          Erzeugt ein Punktintervall aus einem double-Wert
Interval(double inf, double sup)
          Erzeugt ein Intervall aus zwei double-Werten.
Interval(java.lang.String s)
          Erzeugt ein Intervall aus einer Stringdarstellung.
 
Method Summary
 Interval abs()
          Berechnet den Betrag des Intervalls this.
 Interval add(Interval val)
          Gibt die Intervallsumme this+val zurück.
 boolean contains(double val)
          Testet, ob this einen bestimmte Zahl val enthält
 double diam()
          Liefert eine Obergrenze für den Durchmesser eines endlichen Intervalls.
 boolean disjoint(Interval val)
          Testet, ob this und val disjunkt sind
 Interval divide(Interval val)
          Liefert das Ergebnis der einfachen Intervalldivision this/val.
 boolean equals(Interval val)
          Testet zwei Intervalle auf Mengengleichheit.
 Interval hull(Interval val)
          Gibt die Hülle zweier Intervalle zurück.
 double inf()
          Gibt das Infimum des Intervalles zurück
 Interval intersection(Interval val)
          Gibt den Schnitt zweier Intervalle zurück.
 boolean isEmpty()
          Liefert true, falls das Intervall leer ist.
 boolean isIn(Interval val)
          Testet, ob this im Inneren von val liegt
 double mid()
          Liefert den Mittelpunkt eines endlichen Intervalls.
 Interval multiply(Interval val)
          Liefert das Produkt this*val
 Interval negate()
          Gibt -this zurück.
 Interval pow(int n)
          Berechnet die n-te Potenz des Intervalls.
 boolean properSubset(Interval val)
          Testet, ob this echte Teilmenge von val ist
 double rad()
          Liefert eine Obergrenze für den Radius eines endlichen Intervalls.
 double relDiam()
          Liefert eine Obergrenze für den relativen Durchmesser eines endlichen Intervalls.
 boolean subset(Interval val)
          Testet, ob this Teilmenge von val ist.
 Interval subtract(Interval val)
          Gibt die Intervalldifferenz this-val zurück
 double sup()
          Gibt das Supremum des Intervalles zurück
 java.lang.String toString()
          Gibt eine Stringdarstellung des Intervalls zurück
 Interval[] xDivide(Interval val)
          Liefert das Ergebnis der erweiterten Intervalldivision this/val.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PRINT_EXACT

public static boolean PRINT_EXACT
Sollen die Intervallgrenzen exakt (ohne Konvertierung) ausgegeben werden, muß diese Variable auf true gesetzt werden. Die Ausgaben werden allerdings oftmals sehr lang und unübersichtlich.

Constructor Detail

Interval

public Interval(double inf,
                double sup)
         throws java.lang.NumberFormatException
Erzeugt ein Intervall aus zwei double-Werten. Ist einer dieser Werte NaN, so wird das leere Intervall gewählt.

Parameters:
inf - das Infimum des Intervalls
sup - das Supremum des Intervalls
Throws:
java.lang.NumberFormatException - falls inf>sup

Interval

public Interval(double val)
Erzeugt ein Punktintervall aus einem double-Wert

Parameters:
val - Ober- und Untergrenze des neuen Intervalls (NaN steht für das leere Intervall)

Interval

public Interval(java.lang.String s)
         throws java.lang.NumberFormatException
Erzeugt ein Intervall aus einer Stringdarstellung. Es gibt mehrere Formen eines gültigen String:

Hinweis: Im allgemeinen müssen die angegebenen Gleitkommazahlen gerundet werden. Um eine Einschließung zu erhalten, findet hierbei eine Rundung nach außen statt. Somit wird etwa das aus 0.1 gebildete Intervall kein Punktintervall sein.

Throws:
java.lang.NumberFormatException - falls der String ungültig war
Method Detail

toString

public java.lang.String toString()
Gibt eine Stringdarstellung des Intervalls zurück

Overrides:
toString in class java.lang.Object

inf

public double inf()
Gibt das Infimum des Intervalles zurück


sup

public double sup()
Gibt das Supremum des Intervalles zurück


negate

public Interval negate()
Gibt -this zurück.


isEmpty

public boolean isEmpty()
Liefert true, falls das Intervall leer ist.


hull

public Interval hull(Interval val)
Gibt die Hülle zweier Intervalle zurück.


intersection

public Interval intersection(Interval val)
Gibt den Schnitt zweier Intervalle zurück.


add

public Interval add(Interval val)
Gibt die Intervallsumme this+val zurück.


subtract

public Interval subtract(Interval val)
Gibt die Intervalldifferenz this-val zurück


multiply

public Interval multiply(Interval val)
Liefert das Produkt this*val


xDivide

public Interval[] xDivide(Interval val)
Liefert das Ergebnis der erweiterten Intervalldivision this/val. Das Array besteht immer aus genau zwei Elementen.


divide

public Interval divide(Interval val)
Liefert das Ergebnis der einfachen Intervalldivision this/val.


equals

public boolean equals(Interval val)
Testet zwei Intervalle auf Mengengleichheit.


subset

public boolean subset(Interval val)
Testet, ob this Teilmenge von val ist.


properSubset

public boolean properSubset(Interval val)
Testet, ob this echte Teilmenge von val ist


isIn

public boolean isIn(Interval val)
Testet, ob this im Inneren von val liegt


disjoint

public boolean disjoint(Interval val)
Testet, ob this und val disjunkt sind


contains

public boolean contains(double val)
Testet, ob this einen bestimmte Zahl val enthält


mid

public double mid()
Liefert den Mittelpunkt eines endlichen Intervalls. Ist this nicht endlich oder leer, liefert die Funktion NaN zurück.


rad

public double rad()
Liefert eine Obergrenze für den Radius eines endlichen Intervalls. Ist this nicht endlich oder leer, liefert die Funktion NaN zurück.


diam

public double diam()
Liefert eine Obergrenze für den Durchmesser eines endlichen Intervalls. Ist this nicht endlich oder leer, liefert die Funktion NaN zurück.


abs

public Interval abs()
Berechnet den Betrag des Intervalls this. Ist this das leere Intervall, so wird das leere Intervall zurückgegeben.


relDiam

public double relDiam()
Liefert eine Obergrenze für den relativen Durchmesser eines endlichen Intervalls. Ist this nicht endlich oder leer, liefert die Funktion NaN zurück.


pow

public Interval pow(int n)
Berechnet die n-te Potenz des Intervalls. Hierbei muß n größer als 0 sein -- andernfalls wird null zurückgegeben.