6 votos

Función de identidad que devuelve $1$ % entrada $0$.

Estoy buscando una forma de escribir la siguiente función:

\begin{equation} id(x) = \begin{cases} x & x \neq 0 \\ 1 & x = 0 \end{casos} \end{equation}

Sin embargo, quiero implementarlo sin usar condicionales. ¿Alguna idea? El más simple, mejor.

7voto

benji Puntos 1552
¿Qué tal

5voto

CodeMonkey1313 Puntos 4754

Como señala @JohnHughes, álgebra normal no puede ayudarle. Si estás dispuesto a utilizar la función delta de Kronecker y $$ f (x) = x + \delta(x,0) $$ hace lo que quiere.

3voto

Enrico Borba Puntos 8

Esto puede lograrse simplemente con la arctan y la función tangente. Las funciones de $z_1, z_2, z_3$, regresar $1$ al $x = 0$, e $0$ al $x \neq 0$. Aviso esto es diferente de su $id$ función, sino que serán utilizados para construir.

$$ z_1(x) = 2^{\lceil |x|\rceil} \text{ mod } 2 $$

$$ z_2(x) = 1 - |\text{signo}(x)| $$

$$ z_3(x) = 1 - \bigg\lceil\frac{|x|}{|x| + 1}\bigg\rceil $$

Los valores absolutos puede ser reemplazado con plazas, es decir,

$$ z_3(x) = 1 - \bigg\lceil\frac{x^2}{x^2 + 1}\bigg\rceil $$

Fuente: pasé mucho tiempo tratando de escribir funciones condicionales sin condicionales.

Nota: $$\lfloor x \rfloor = (x - 0.5) - \frac{\arctan(\tan(\pi(x - 0.5)))}{\pi}$$

Entonces podemos escribir $$\lceil x \rceil = -\lfloor -x \rfloor$$

Así, podemos escribir $z_3$ simplemente de arctg y fuego: $$ z_3(x) = 1 + \bigg\lfloor - \frac{x^2}{x^2 + 1}\bigg\rfloor = 1 - \frac{x^2}{x^2 + 1} - 0.5 - \frac{\arctan(\tan(\pi(- \frac{x^2}{x^2 + 1} - 0.5)))}{\pi}$$

A continuación,

$$id(x) = z_3(x) + x\cdot(1 - z_3(x))$$

No es bonita, pero es enteramente en términos de funciones elementales.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X