In intervalrekenen is het de bedoeling om het bereik van een eenvoudige functie in 1 of meer
veranderlijken te bepalen, gegeven het bereik van de argumenten. Stel bij voorbeeld dat
$$x \in [5, 10]$$ en $$y \in [10, 20]$$, dan weten we dat $$x + y \in [15, 30]$$ en $$x \times y
\in [50, 200]$$.
Meer algemeen gelden volgende rekenregels voor de intervallen $$[x_1, x_2]$$ en $$[y_1, y_2]$$:
Interval
:
__str__()
die de gedaante [start,einde]
oplevert. Hierbij kies je voor een
gedaante met 2 decimalen.
__repr__()
-methode
==
levert True
indien start- en eindpunt van de intervallen gelijk zijn (False
in het andere geval).
Gebruik voor die vergelijking de functie np.allclose()
met default-argumentwaarden.
+
,-
, *
en / zoals hierboven gedefinieerd, waarbij je bij de deling mag
veronderstellen dat het interval waardoor gedeeld wordt, de waarde 0 NIET bevat.
+
, -
, *
en /
waarbij het rechterargument een
reëel of geheel getal is. De interpretatie is als volgt:
+
: de grenzen van het interval worden vermeerderd met het getal
-
: de grenzen van het interval worden verminderd met het getal
*
: de grenzen van het interval worden vermenigvuldig met het getal (let op: zorg dat start < eind van het
resultaat, ook als het vermenigvuldigtal negatief is)
/
: idem, voor de deling
+
en *
ook de gemengde vorm met als linkeroperand een geheel/reëel getal
het verwachte gedrag vertonen.
i1 = Interval(1.0, 5.0) i2 = Interval(-6.0, -2.0) print(i1) -> [1.00,5.00] print(i2) -> [-6.00,-2.00] print(i1 + i2) -> [-5.00,3.00] print(i1 - i2) -> [3.00,11.00] print(i1*i2) -> [-30.00,-2.00] print(i1/i2) -> [-2.50,-0.17] g = -5 print(i1 + g) -> [-4.00,0.00] print(i1 - g) -> [6.00,10.00] print(i1*g) -> [-25.00,-5.00] print(i1/g) -> [-1.00,-0.20] print(g + i1) -> [-4.00,0.00] print(g*i1) -> [-25.00,-5.00]