¿Cómo puedo calcular Exponencial usando CORDIC para números fuera de [-1, 1]? [cerrado]

1

No puedo entender la matemática detrás del cálculo de la exponencial de un número fuera del rango [-1, 1) (en realidad no estoy seguro de cuál es un buen rango para calcular exp usando CORDIC, en algún lugar leo [-pi / 4, pi / 4] y en otros he leído [-1, 1)) usando el algoritmo CORDIC. ¿Alguien puede dar un ejemplo?

Leí la siguiente declaración en enlace :

"x debe estar en el rango [–1, 1). Para calcular exp (x) cuando x está fuera de este rango, encuentre un entero q y un número real r, donde r está en el rango [0, ln (2)), de manera que x = q × ln (2) + r. Luego puede calcular 2 ^ q × exp (r), que es equivalente a exp (x). Debido a que r está en el rango válido de [- 1, 1), puede utilizar esta función para calcular exp (r). "

Pero no tiene mucho sentido para mí, ¿cómo puedo encontrar q y r?

El segundo enfoque que encontré fue en enlace que dice usemos las ecuaciones después de dividir el número en partes enteras y fracciones:

cosh(int + frac) = cosh(int) * cosh(frac) + sinh(int) * sinh(frac)
sinh(int + frac) = cosh(int) * sinh(frac) + cosh(frac) * sinh(int)

cosh (int) y sinh (int) se toman de la tabla de búsqueda. Pero este enfoque es más intensivo desde el punto de vista informático, por lo que prefiero el anterior.

    
pregunta user3575732

1 respuesta

2

q y r se extraen de forma trivial del número original. r es el número que tiene el mismo patrón de bits que el original pero desplazado a la derecha, de modo que se encuentra dentro de (-1, 1), y q es el número de veces que se ha desplazado a la derecha.

010110101.11 -> (8, 0.1011010111)
    
respondido por el Ignacio Vazquez-Abrams

Lea otras preguntas en las etiquetas