Mengenai notasi fungsi bercabang

Kurungan keriting digunakan dalam notasi definisi fungsi dengan perbezaan kes. Kami mengemukakan persoalan sederhana apakah representasi ini juga dapat dihilangkan dan fungsinya dapat diturunkan menjadi notasi yang dapat dilakukan tanpa itu. Contohnya, fungsi

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

dengan bantuan empat operasi aritmetik asas menggunakan istilah satu baris?


Itu mustahil dan kami membuktikannya dengan bantuan kesinambungan.

Kami mempertimbangkan urutan \((x_n)\) dengan \(x_n = \frac{1}{n}\) . Untuk urutan ini \( \lim_{ n \to \infty } x_n = \lim_{ n \to \infty } \frac{1}{n} = 0\) . Selain itu, \(\lim_{ n \to \infty } f(x_n) = \lim_{ n \to \infty } \frac{1}{n} = 0 \neq 42 = f(0)\) . Oleh itu \(f\) tidak putus pada titik \(x=0\) iaitu secara keseluruhan tidak terputus.

Oleh kerana jumlah dan produk fungsi berterusan berterusan lagi kerana klausa rantai, seseorang hanya dapat menghasilkan fungsi berterusan (khususnya tidak pernah \(f\) ) dengan bantuan empat operasi asas aritmetik.

Walau bagaimanapun, jika kita membiarkan fungsi signum yang tidak terputus, misalnya, kita dapat mencari notasi seperti itu dengan mudah. Kemudian iaitu

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

Untuk fungsi umum \(f\) dengan perbezaan kes berlaku

$$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).$$

Sebaliknya, jika anda melihat fungsi dalam bahasa pengaturcaraan, cabang dapat diselesaikan. Sebagai contoh, dalam PHP fungsi signum dapat dipetakan dengan:

e367d0ca10c4f0ac43640ad7fd1b3f0d

\(f\) juga dapat dipaparkan tanpa struktur kawalan jika / lain dengan:

e367d0ca10c4f0ac43640ad7fd1b3f0d

Sekiranya anda ingin melakukannya tanpa operator perbandingan, anda boleh melangkah selangkah lebih jauh dan melibatkan diri dengan dunia operator bitwise yang indah:

e367d0ca10c4f0ac43640ad7fd1b3f0d

Belakang