martes, 28 de septiembre de 2021

Acerca de algunas funciones discretas básicas

Entenderemos por funciones discretas las definidas en $\mathbb{R}$ sobre $\mathbb{Z}$, esto es, las funciones que envían números reales a números enteros. Como su nombre sugiere, son importantes en cálculo numérico, programación y matemática discreta. Básicamente, se construyen mediante las funciones suelo y techo. Así, siendo $x \in \mathbb{R}$, se definen de la siguiente manera:

$\text{suelo}(x) \equiv \lfloor x \rfloor \overset{\text{def}}{=}\text{máximo}\{k\in \mathbb{Z}: k\le x\}$, o lo que es lo mismo, $y=\lfloor x \rfloor : y=\{y\in \mathbb{Z} \wedge x\in \mathbb{R} \wedge y \le x \prec y+1\}$
Ejemplos: a) $\lfloor 4,7 \rfloor = 4$, b) $\lfloor -2.6 \rfloor = -3$
y
$\text{techo}(x) \equiv \lceil x \rceil \overset{\text{def}}{=}\text{máximo}\{k\in \mathbb{Z}: k\ge x\}$ , o lo que es lo mismo, $y=\lceil x \rceil : y=\{y\in \mathbb{Z} \wedge x\in \mathbb{R} \wedge y-1 \prec x \le y\}$
Ejemplos: c) $\lceil 4,7 \rceil = 5$, b) $\lceil -2.6 \rceil = -2$


Mediante estas dos funciones podemos hablar de la parte entera de un número real, entendiéndola como la función suelo. En muchos libros de texto suele notarse de la forma $E(x)\equiv\lfloor x \rfloor$ - y se suele notar de la forma $[x]$, esto es, definiéndola de la forma $[x]=E(x):=n \Leftrightarrow n \le x \lt n+1$ -, esto es, endiendo ésta como la función suelo. Así, en muchos lenguajes de programación (como, por ejemplo, Python), $E(x)$ se invoca mediante la instrucción $\text{int}(x)\equiv\lfloor x \rfloor$

Ejemplos: e) $[ 4,7 ] = 4$, f) $[ -2.6 ] = -3$


Observación. No obstante, en el lenguaje de programación C, se sigue otra definición que es la siguiente $\text{int}_{C}(x)=\left\{\begin{matrix}\lceil x \rceil & \text{si} & x \prec 0 \\ \lfloor x \rfloor & \text{si} & x \ge 0 \end{matrix}\right.$
Ejemplos: g) $\text{int}_{C}( 4,7) = 4$, b) $\text{int}_{C}( -2.6) = -2$


-oOo-


Funciones de redondeo y truncamiento Para enviar un número real, $x$, a un número entero por truncamiento utilizamos la siguiente función: $$\mathcal{T}(x)=\left\{\begin{matrix}\lceil x\rceil & \text{si} & x \prec 0 \\ \lfloor x\rfloor & \text{si} & x \ge 0\end{matrix}\right.$$ y para hacerlo por redondeo empleamos $$\mathcal{R}(x)=\left\{\begin{matrix}\lceil x-0.5\rceil & \text{si} & x \prec 0 \\ \lfloor x+0.5\rfloor & \text{si} & x \ge 0\end{matrix}\right.$$
Ejemplos:
i) $\mathcal{T}(1,9)=1$, h) $\mathcal{T}(-1.2)=-2$
j) $\mathcal{R}(1,9)=2$, k) $\mathcal{R}(-1.2)=-2$

Por otra parte, para truncar y redondear ( respectivamente ) un número real a otro número real con un cierto número de dígitos, $n$, en la parte decimal lo hacemos de la siguiente manera: $$\mathcal{T}(x;n)=\left\{\begin{matrix}\dfrac{\lceil 10^{n}\cdot x \rceil}{10^n} & \text{si} & x \prec 0 \\ \\ \dfrac{\lfloor 10^{n}\cdot x \rfloor}{10^n} & \text{si} & x \ge 0 \end{matrix}\right.$$ y para redondear $$\mathcal{R}(x;n)=\left\{\begin{matrix}\dfrac{\lceil 10^{n}\cdot x -0.5 \rceil}{10^n} & \text{si} & x \prec 0 \\ \\ \dfrac{\lfloor 10^{n}\cdot x +0.5 \rfloor}{10^n} & \text{si} & x \ge 0 \end{matrix}\right.$$ Ejemplos:
l) $\mathcal{T}(\pi,3)=3.141$, m) $\mathcal{T}(-2.6785,3)=-2.678$
n) $\mathcal{R}(\pi,3)=3.142$, p) $\mathcal{R}(-2.6785,3)=-2.679$
$\square$
-oOo-

Referencias:
  [1] Funciones discretas, https://es.wikipedia.org/wiki/Funci%C3%B3n_discreta, Wikipedia
  [2] Moreno, C., Introducción al Cálculo Numérico, UNED, Madrid, 2011

No hay comentarios:

Publicar un comentario