2 votos

Función de saturación suave

Necesito una función similar a $$Saturation(x)=min(max(x, -1), 1)$$ salvo que necesito que sea suave y sin saltos en sus derivados. Parece que $arctan$ no es un buen candidato ya que lo necesito para mantener el $|Saturation(x)-x|<0.02$ hasta $|x|<0.9$ mientras que $arctan$ me da un gran error. saturation

La función debe ser idéntica en torno a $x=0$ y casi plano después $x=1$ .

Así, los requisitos de la función son:

$$f'(0)=1$$ $$f(0)=0$$ $$f'(1)\thickapprox0$$ $$f(0.90)=0.88$$ $$|f(x)|<1$$ $$|f'(x)| \leqslant 1$$ $$\forall n \in \mathbb{N} , \exists \frac{d^n}{dx} f(x)$$

¿Puede alguien sugerirme una función de este tipo?

4voto

RN. Puntos 786

Normalizar $x$ por el $L^p$ -norma de $(1, x)$ funcionaría. $$L^p(\vec{x}) = \sqrt[\Large p]{\sum_i|x_i|^p}$$ Su saturación suave sería entonces esta: $$Sat(x) = \frac{x}{\sqrt[\Large p]{1+|x|^p}}$$

Como $p$ se acerca al infinito, se aproximará más al original $Saturation$ porque $L^\infty$ es equivalente al máximo. Además, como $p$ se acerca a $0$ , $Sat(x)$ La derivada de segundo orden es mayor en torno a $0$ Así que $Sat(x)$ más rápidamente no se aproximará $y=x$ .

Desde $p$ et $x$ son reales y p es positivo, $Sat^\prime(x)$ está bien definida como (a partir de WolframAlpha) ):

$$Sat^\prime(x) = \frac{1}{\left(1 + |x|^p\right)^{\large \frac{p}{p+1}}}$$

Para cumplir con sus condiciones exactas, si utiliza $p\approx11.56$ entonces $Sat^\prime(1)\approx0.4709$ (tan bueno como el tanh sugerido por usuario76844 ) y $Sat(0.9)\approx0.8800$ . Todas las derivadas de orden superior deberían existir, pero en general sería más fácil calcularlas numéricamente.

3voto

Le site Función logística debería servir. He configurado la versión siguiente para capturar algunos de sus requisitos.

$$\text{Sat}(x)=\frac{2}{1+e^{-2x}}-1$$

Nota: $\text{Sat}'(0)=1,|\text{Sat}'(x)|\leq 1, |\text{Sat}(x)|\leq 1,\text{Sat}(0.9)\approx 0.72, \text{Sat}(0)=0$ y todos los derivados existen.

6 de 7 no está tan mal... y no está tan mal en $x=0.9$ (dentro del 20%).

Respuesta a OP

Si vas al revés, querrás encontrar una función:

$$f: f'(0)=1, \lim_{|x|\to \infty} f'(x)=0, \int |f'(x)| dx< \infty, $$

Un candidato sería de la forma $f'(x)=e^{-kx^p}, p\in\{2,4,6...\}$ Por desgracia, su integral no es elemental.

1voto

cwhisperer Puntos 101

Mi función saturadora favorita es tanh(x). Limita muy bien en más/menos 1. Si necesitas más ganancia en la región lineal, modifícala como en tanh(ganancia*x).

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