Over de notatie van vertakte functies

Accolades worden gebruikt in de notatie van functiedefinities met onderscheid tussen hoofdletters en kleine letters. We zoeken de simpele vraag of deze representatie ook kan worden geëlimineerd en de functie kan worden teruggebracht tot een notatie die het zonder kan. Bijvoorbeeld de functie

$$f: \mathbb{R} \to \mathbb{R}, f(x) = \left\{\begin{matrix} 42, & \text{falls } x = 0 \\ x, & \text{sonst} \end{matrix}\right.$$

deze in één regel weergeven met behulp van de vier rekenkundige basisbewerkingen?


Dat is onmogelijk en dat bewijzen we met behulp van continuïteit.

We beschouwen de reeks \((x_n)\) met \(x_n = \frac{1}{n}\) . Voor deze reeks \( \lim_{ n \to \infty } x_n = \lim_{ n \to \infty } \frac{1}{n} = 0\) . Verder \(\lim_{ n \to \infty } f(x_n) = \lim_{ n \to \infty } \frac{1}{n} = 0 \neq 42 = f(0)\) . Dit betekent dat \(f\) discontinu is op het punt \(x=0\) , en daarom in het algemeen discontinu.

Omdat de som en het product van continue functies weer continu zijn vanwege de aaneenschakelingsstellingen, kun je alleen continue functies genereren (in het bijzonder nooit \(f\) ) met behulp van de vier rekenkundige basisbewerkingen.

Als we bijvoorbeeld de discontinue signum-functie toestaan, kunnen we zo'n notatie gemakkelijk vinden. Dan namelijk

$$f: \mathbb{R} \to \mathbb{R}, f(x) = sgn^2(x-42)+42.$$

Voor een algemene functie \(f\) met hoofdletter onderscheid geldt

$$f,g,h,a: \mathbb{R} \to \mathbb{R}, f(x) = \begin{Bmatrix} g(x), & \text{falls } a(x) = 0 \\ h(x), & \text{falls } a(x) \neq 0 \end{Bmatrix} = sgn^2 \left(a(x)\right)\cdot h(x) + \left(1-sgn^2\left(a(x)\right)\right)\cdot g(x).$$

Aan de andere kant, als je naar functies in programmeertalen kijkt, kunnen vertakkingen worden opgelost. In PHP kan bijvoorbeeld de signum-functie worden toegewezen:

e367d0ca10c4f0ac43640ad7fd1b3f0d

\(f\) kan ook worden weergegeven zonder if / else-besturingsstructuren met:

e367d0ca10c4f0ac43640ad7fd1b3f0d

Als je ook liever geen vergelijkingsoperatoren gebruikt, kun je nog een stap verder gaan en je verdiepen in de wondere wereld van bitwise-operatoren.:

e367d0ca10c4f0ac43640ad7fd1b3f0d

Terug