13 votos

¿Cómo evalúan las calculadoras las funciones trigonométricas inversas?

Sé que para las entradas simples, puedes simplemente memorizar la respuesta, pero ¿qué pasa si quiero encontrar $\arcsin{0.554}$ . Mi calculadora me dice al instante que la respuesta es $0.5752 \ \text{radians}$ . ¿Cómo puedo hacerlo a mano, de forma procedimental, para llegar siempre a la respuesta correcta sin tener que memorizar un montón de cosas?

Gracias.

5 votos

Su título es contradictorio con su texto.

1 votos

Mi calculadora me dice que $\sin(.5752)=0.544$ no $0.554$ .

12 votos

A juzgar por el hecho de que has publicado una pregunta titulada "¿Cómo hacen las calculadoras...?" con un cuerpo que pregunta "¿Cómo puedo hacer eso a mano...?", pareces estar asumiendo que querrías imitar (a mano) el algoritmo utilizado por tu calculadora. Ese no es necesariamente el mejor algoritmo para calcular a mano, sobre todo porque tu calculadora puede haber "memorizado" muchas "cosas".

17voto

Halfgaar Puntos 2866

Esta es una buena pregunta. Las funciones trigonométricas y las funciones trigonométricas inversas son complicadas. De hecho, el IEEE ha publicado normas sobre cómo deben calcularse. ( EDIT: La cláusula 9 del IEEE 754-2008, el estándar de punto flotante, recomienda pero no exige la implementación de funciones trigonométricas. )

En el siguiente artículo se describe un método para calcular $\arcsin x$ cuando $0 < x < 1$ : Papel .

En esencia, utilizan la identidad trigonométrica

$$\arcsin N = \arctan \frac{N}{\sqrt{1-N^2}}.$$

Por supuesto, esto sólo plantea la pregunta: ¿cómo se computa $\arctan x$ ?

Los antiguos algoritmos utilizaban algo llamado CORDIC .

Los ordenadores modernos tienen suficiente memoria y velocidad para construir tablas de búsqueda e interpolar. Sin embargo, CORDIC sigue encontrando uso en cosas como las FPGAs. No sé de antemano cuál es el algoritmo estándar, actualmente, pero estoy dispuesto a apostar que tu calculadora utiliza CORDIC o búsquedas interpoladas.

1 votos

También hay que tener en cuenta que las series de potencias para arctan son muy sencillas de evaluar.

2 votos

La serie de potencias de arctan tiene signo alterno, lo que la convierte en una opción no muy buena para el cálculo informático de precisión limitada. Es mejor utilizar la serie de Chebyshev y sumar los términos utilizando la fórmula recurrente y el algoritmo de Clenshaw.

7voto

flawr Puntos 4409

Las calculadoras utilizan normalmente una versión del CORDIC-algoritmos que es un conjunto de algoritmos para evaluar diferentes funciones trigonométricas, o algún tipo de serie de potencias (por ejemplo, series de Taylor) de la función. Estos algoritmos normalmente no son muy adecuados para hacer cálculos "a mano", ya que hacen uso de mucha repetición en la que los ordenadores son buenos, pero los humanos somos bastante lentos. Al abaratarse el hardware, a menudo disponemos también de tablas de consulta que nos permiten realizar una interpolación lo suficientemente precisa para las aplicaciones previstas.

4voto

Shabaz Puntos 403

Para responder a la pregunta del cuerpo, que es bastante diferente a la del título, no obtendrás un valor muy exacto de arcsin a mano sin mucho trabajo. La forma más fácil y razonablemente precisa es utilizar el valor más cercano que conozcas y una serie de Taylor. Si quieres $\arcsin 0.554$ probablemente sabes que $\arcsin 0.5=\frac \pi 6$ . Entonces $\arcsin 0.554 \approx \frac \pi 6 + 0.054 \left.\frac d{dx}\arcsin x\right|_{0.5}=\frac \pi 6 + 0.054 \frac 1{\sqrt {1-0.5^2}}\approx 0.58595$ que está dentro de $0.0012$ de la correcta $0.58716.$

0 votos

En realidad no es tan malo, ya que el valor correcto es $0.5871613082$ .

3 votos

Por supuesto, esto no es realmente "a mano" si se utiliza la calculadora para calcular un valor para $\pi/6 + .054/\sqrt{1 - 0.5^2}$ . Pero si lo hace, ¿por qué no confiar en él con $\arcsin(0.554)$ ?

0 votos

@RobertIsrael: Estaba aceptando el valor de OP y me sorprendió que estuviera tan lejos. Creo que este cálculo (si sabes $\pi$ y $\sqrt 3$ ) está al alcance del papel y el lápiz

3voto

Sixfoot Studio Puntos 780

No es realmente instantáneo, pero es bastante rápido. Hay varias formas de estimar funciones. Una forma es utilizar una expansión en serie de Taylor.

En cuanto a hacer esto a mano, aunque tuvieras la expansión de la serie de taylor, sería difícil de hacer ya que estás hablando de muchos cálculos. Claro que se podría hacer, pero sería mucho más fácil usar una calculadora.

3voto

Yves Daoust Puntos 30126

Me temo que no encontrarás una solución fácil a mano. Los métodos numéricos requeridos implicarán o bien muchos números tabulados, o bien un importante cálculo aritmético.

La serie Taylor no requiere ninguna tabla.

Si puede contentarse con una aproximación burda, puede utilizar $$\sin x\approx\frac{4x(\pi-x)}{\pi^2},$$ para $x$ en el rango $[0,\pi]$ . La fórmula es exacta para $0$ , $\pi/2$ y $\pi$ .

Invirtiendo esto último,

$$\arcsin x\approx\frac{\pi}2(1-\sqrt{1-x}).$$

Por desgracia, esto utiliza una raíz cuadrada.

Un resultado más preciso viene dado por los dos primeros términos de Taylor $$\arcsin x\approx x+\frac{x^3}6.$$ Utilícelo para $0<x<\sqrt2/2$ y para $x>\sqrt 2/2$ , se transforman como $$\arcsin x=\frac\pi2-\arcsin\sqrt{1-x^2}.$$

Supongo que es difícil evitar una raíz cuadrada, ya que la derivada se vuelve infinita en $x=1$ .

1 votos

Si eres capaz de sacar raíces cuadradas, una aproximación algo mejor es $\arcsin x\approx 3x/(2+\sqrt{1-x^2})$ que aprendí de Dios juega a los dados .

0 votos

@Steven Taschuk: interesante. ¿Sabes cómo se deriva?

0 votos

Con $t = \sqrt{1-x}$ tenemos $$ \arcsin(x) \approx \dfrac{\pi}{2} - \sqrt{2} \left( t + t^3/12 + 3 t^5/160 + 5 t^7/896\right)$$ que es una aproximación bastante buena, especialmente para $x \ge \sqrt{2}/2$ .

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