6 votos

cálculo iterativo

Supongamos que a uno se le da una aproximación inicial de$\log x$,$y_0$, de modo que:$$y_0 = \log x + \epsilon \approx \log x$ $

Aquí, todo lo que se sabe acerca de$x$ es que$x>1$. ¿Existe un método general para mejorar esa estimación utilizando solo la suma y la multiplicación, es decir, sin exponenciación o logaritmos? PS

5voto

Hace mucho tiempo, en el siglo pasado, tuve una temprana calculadora sin la función de registro. Para hacer un registro, me gustaría golpear el botón de raíz cuadrada de diez veces, restar $1$, y multiplicar por $1,024$. La respuesta fue buena a $4$ decimal, lo cual era mejor que mis dos calibrado palos podía entregar. La raíz cuadrada es una función de gran alcance que se puede utilizar para aproximar muchos otros.

No ridiculizar calibrado palos; hicieron la mayor parte de la ingeniería que nos llevó a la luna! Recientemente he construido una regla de cálculo de Starbucks palos que se hace la multiplicación modulo $23$. He utilizado los registros a la base de $7$.

3voto

Yves Daoust Puntos 30126

En cualquier caso, también es necesario saber $x_0=e^{y_0}$.

Entonces la corrección está dado por $y-y_0=\ln\left(\dfrac x{x_0}\right)=\ln(1+\delta)$ donde $\delta$ es pequeña. Usted puede evaluar por Taylor, que se reunirán de forma lineal,

$$\ln(1+\delta)\approx\delta-\frac{\delta^2}2+\frac{\delta^3}3\cdots$$

También se puede limitar a ti mismo para el primer término $$\ln(1+\delta)\approx\delta,$$

pero entonces usted tendrá que corregir con $x_1=x_0e^{-\delta}\approx x_0\left(1-\delta+\frac{\delta^2}2\cdots\right)$, que converge un poco más rápido.

Creo que no hay un acceso directo.


Un enfoque similar es dada por el método CORDIC.

Precompute un número decreciente de las constantes de $l_k=\log(a_k)$, por ejemplo,$a_k=1+2^{-k}$.

Se aplicarán los siguientes pasos para todos los $k$ en vez:

$$\text{while } a_kx_n<x\to x_{n+1}=a_{n+1}x_n, y_{n+1}=y_n+l_k.$$

(Si $a_{k+1}>\sqrt{a_k}$, $\text{if}$ es suficiente.)

3voto

krasnyk Puntos 1877

En lugar de resolver$y - \ln(x) = 0$ para$y$, puede resolver$g(y) = e^y - x = 0$

Dada la aproximación inicial$y_0 \approx \ln(x)$, puedes intentar resolver$y$ usando el método de Newton:

PS

Cuando no se permite la exponenciación, puede aproximar$$y_{n + 1} = y_n - \frac{g(y_n)}{g'(y_n)}= y_n - \frac{e^{y_n} - x}{e^{y_n}} = y_n - 1 +\frac{x}{e^{y_n}}$ con$e^{y}$ usando la multiplicación repetida:$\left(1 + \frac{y}{2^m} \right)^{2^m}$ $

1voto

No sé de alguna manera a mejorar un cierre de adivinar el registro como se hace con la raíz cuadrada de Newton-Raphson a menos que tenga la inversa de la función de registro. Tenga en cuenta que la exponencial es fácil de evaluar para los pequeños argumentos de porque es una rápida convergencia de alimentación de la serie.

Si usted tiene un registro exacto de un número z que está cerca de x, calcular w=z/x. w será cercano a 1. Y es fácil y rápido para calcular el logaritmo natural de los números de cerca de 1.

Crudo: uso ln(w) = w-1

Menos crudo: a1 = (1+w)/2, y aproximar ln(w) = (w-1)/a1. Esto parece trapezoidal de integración de 1 a w de dt/t. Usted podría hacer mejor con la regla de simpson y otros métodos de integración numérica, pero que no es donde quiero llevar.

Mejor: g1 = Sqrt(w), y aproximar ln(w) = (w-1)/g1

Continuando, se puede conseguir un mejor divisores. a2 = (a1+g1)/2, g2 = Sqrt(a2*g1), etc. Esto no tiene convergencia cuadrática como el de Gauss AGM algoritmo, pero puede ser acelerado por el mismo método utilizado en HP calculadora de Romberg acelerado trapezoidal integrador. Ver Carlson, "Un Algoritmo para el cálculo de Logaritmos y Arctangents", las Matemáticas de la Computación, abril de 1972. Sólo se necesitan unas pocas iteraciones para gran exactitud. Esto fue enseñado a mí por Nate Grossman, de la UCLA en una cuarta reunión del Grupo de Interés camino de regreso en el último siglo. (Otra o a su favorito de los métodos de Newton-Raphson en la exponencial.)

Muchos de nuestros tecnología numérica implica estrategias para evitar la "lentitud" de las operaciones en el equipo: multiplicación, inversa de la raíz cuadrada, etc. Algún día estos serán incorporados en el hardware y tomar un solo ciclo de máquina. Nuevos mundos de alta velocidad de computación. Hasta entonces, el cálculo rápido de los registros es un núcleo de la infraestructura de los números y un rico campo para continuar la exploración.

Esto no es exactamente lo que quería, pero espero que sea de ayuda.

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