REPUESTA:
Considera alguno de los dos enfoques siguientes.
ENFOQUE PRACTICO:
1) Define n = redondeo(ln(x))
2) Define z = x/e^n - 1
3) Calcula X = n + z(1-z(1/2-z(1/3-z(1/4-z/5))))........... (**)
4) X aproxima a ln(x) aproximadamente con 5 cifras correctas.
(**) Este paso lo puedes hacer con una calculadora de manera simple:
Calcula z/5, cambiale signo y sumale 1/4
Multiplica otra vez por z, cambiale signo y sumale 1/3
Multiplica otra vez por z, cambiale signo y sumale 1/2
Multiplica otra vez por z, cambiale signo y sumale 1
Multiplica otra vez por z
Finalmente, sumale n.
ENFOQUE TEORICO::
1) reducir el valor de x, dividiendolo entre e^n, de manera que x/e^n sea lo más próximo a 1, llamarlo "y" y definir z=y-1:
y = x / e^n, tal que z = y-1 sea lo más pequeño posible.
2) Sumar los primeros "m" términos de la serie infinita
z - z^2 / 2 + z^3 / 3 - z^4 / 4 + z^5 / 5 - ...
3) Corregir el valor de z, sumandole n:
ln(x) "aprox=" X = n + z
4) Estimar el error relativo en la forma
E = z^m / (m*(n+z))
5) El número de cifras confiables en la aproximación que obtuviste "X=n+z" es aproximadamente el mismo que el número de ceros que tiene E, antes de la primera cifra significativa.
EJEMPLO:
Aproximar el valor de ln(35)
1) Encontramos que la mejor reducción de x la logramos con e^4 (es decir, n=4):
z = 35/e^4 - 1 = -0.3589...
2) Sumando los primeros 5 términos de la serie (es decir, m=5), obtenemos
-0.4441...
3) Corregimos el valor obtenido, sumándole n:
X = ln(35) = 5 - 0.4441... = 3.55586...
4) Estimamos el error relativo:
E = z^5 / (5*X) = -0.000335...
5) Como tenemos tres ceros antes de la primera cifra significativa de E, podemos decir que X aproxima a ln(35) con 3 cifras correctas (al menos), es decir
ln(35) = 3.55
OBSERVACION:
Si haces lo mismo, pero con m=10 (10 términos de la serie), obtienes:
X = 3.55534979134176
E = 0.00000099882446
por lo que puedes confiar en las primeras 6 cifras de X es, decir
ln(35) = 3.55534
ANALISIS:
La serie de Taylor, para una función infinitamente derivable, alrededor de x=a te da
f(x) = f(a) + f'(a)(x-a) + f''(a)(x-a)^2 / 2! + ...
Aplicándola para aproximar la función f(x) = ln(x), alrededor de a=1, obtienes
ln(x) = (x-1) - (x-1)^2 / 2 + (x-1)^3 / 3 - (x-1)^4 / 4 + ...
y el error quedará en términos de la primera potencia no considerada, al recortar la suma a m términos (**)
Obviamente, el error será menor mientras la diferencia x-1 sea lo más pequeña posible y por tal razón conviene reducir el valor de x, dividiendolo entre alguna potencia entera de e, digamos e^n. Entonces calculas, no ln(x) sino ln(x/e^n) y consideras la correccion:
ln(x) = n + ln(x/e^n)
Es así como lo hacen las calculadoras de bolsillo, al igual que las otras funciones, sen(), cos(), e(), etc.
(**) Te dejo los detalles para calcular el error, advirtiendote que para conocer cuántas cifras son confiables, no basta el error absoluto
U - u
sino el error relativo
abs[(U - u) / u]
en donde u es el valor correcto y U es el valor aproximado.
Espero que esta explicación haya ilustrado bien la idea, la cual puedes trabajarla, cuida especialmente dos detalles:
1) Encontrar n: es decir, cómo encontrar la potencia entera de e más adecuada, para reducir el valor de x y acercarlo a 1 lo más posible: n es el entero más cercano a ln(x), pero cuidado, pues se presume que no conoces ln(x), así que puedes buscar esa potencia por prueba y error, dividiendo x/e^n para distintos valores de n.
2) Encontrar m (prueba y error): es decir, cuántos términos de la serie te conviene usar, para lograr el número de cifras requerido. Haciendo bien el paso (1), normalmente requieres alrededor de 5 términos de la serie y obtienes 5 cifras correctas.
Con m=5, puedes aplicar la factorizacion anidada
X = n + z(1-z(1/2-z(1/3-z(1/4-z/5)))) ..............(A)
es decir, con la fórmula (A), puedes obtener 5 cifras correctas en la aproximación, si tomas
n = redondeo(ln(x)).
PALABRAS CLAVE:
- Serie de Taylor
- Desarrollo de Mc Laurin
- Regla de Horner para polinomios
- Error relativo
- Aproximación de funciones
- Análisis Numérico
FELIZ NAVIDAD !
.
Si requieres más detalles, no dudes en escribirme.
.
.
2006-12-20 12:13:16
·
answer #1
·
answered by Ser 3
·
4⤊
0⤋
Gracias a "Ser" me salvé de tener que escribir algo tan largo. Ya estaba revisando mis apuntes sobre compiladores de computadoras para armarte una respuesta.
A la respuesta de "Ser", por demás completa, sólo agrego unos conceptos para quienes no estén familiarizados con estos métodos.
Las computadoras (y calculadoras) no tienen una tabla de logaritmos ni de funciones trigonométricas para obtener los valores de estas funciones. Recurren a la aproximación por series numéricas.
Las series son del tipo:
1/x + 2/x^2 - 3/x^4 + ...
y muchas similares.
Si se selecciona una serie adecuada, la suma de los términos de dicha serie puede ser muy aproximada a una de las funciones buscadas (logaritmo, seno, tangente, etc.)
La serie dará valores muy aproximados sólo dentro de un entorno de valores, por ejemplo para valores de x entre 0 y 1, y siempre tendrá un margen de error.
La cuestión es entonces, hacer que el valor buscado "calce" dentro de la mejor zona de la serie para obtener la mejor aproximación posible, y luego determinar cuantos dígitos podemos considerar excentos de error. Todo el procedimiento está explicado en detalle en la respuesta de "Ser".
Generalmente cuantos más términos de la serie se utilicen, mejor será la aproximación.
Los módulos matemáticos de los compiladores siempre han utilizado algoritmos de este tipo para las funciones.
Saludos y Felices fiestas.
2006-12-21 11:56:57
·
answer #2
·
answered by Red Acorn 7
·
1⤊
0⤋
Una respuesta clara y concisa:
1º Forma: Utiliza tablas de logaritmos. Los logaritmos solo están tabulados si son decimales o neperianos, pero puedes usar la fórmula,
(log en base "a" de "b") = (log en cualquier base de "b") / (log en cualquier base de "a")
para calcular cualquier logaritmo, pero no creo que sea lo que estas preguntando.
2ª Forma: Utiliza los desarrollos de Taylor. La formula para la función logaritmo neperiano es,
ln(x) = (x-1) - (x-1)^2 / 2 + (x-1)^3 / 3 - (x-1)^4 / 4 + ...
Cuantos más términos uses, mejor aproximación te saldrá. Si quieres calcular logaritmos en cualquier base, usa la fórmula de la 1ª Forma.
Existen fórmulas para saber cuantos términos usar en la aproximación anterior para obtener un número dado de decimales exactos, pero para esto se necesitan conocimientos de cálculo diferencial.
Un saludo,
Kneissel,
Matemático.
2006-12-22 08:05:47
·
answer #3
·
answered by Anonymous
·
0⤊
0⤋
es algo mas complicado de lo q crees como ya te habian dicho antes necesitas de calculo diferencial te lo tratare de explicar en este poco espacio
La derivada de la función f(x) = x^n entonces
f'(x) = nx^{n-1} Al dividir ambos lados de la expresión por "n" y observar el resultado, se puede afirmar que una primitiva de x^m es x^{m+1}*[1/{m+1}] (con m = n - 1).
Este cálculo obviamente no es válido cuando m = - 1, porque no se puede dividir por cero. Por lo tanto, la función inversa 1/x es la única función "potencia" que no tiene una primitiva "potencia".
En resumen: ln'(x) = {1}/{x} y ln (1) = 0
Viel Glück
2006-12-20 20:04:57
·
answer #4
·
answered by Paul X 2
·
0⤊
0⤋
Requiere de conocimientos de Calculo Diferencial( series de Taylor ) y a partir de un logaritmo conocido ( aunque solo sea entero ) se obtienen otro con decimales. Pero es un proceso laborioso pues incluye sumar muchos términos, cada uno de los cuales requiere elevar a una potencia.
2006-12-20 19:10:14
·
answer #5
·
answered by Mas Sabe el Diablo por viejo que 7
·
0⤊
0⤋
Dame una lana y te enseño todos los metodos, soy matematico
2006-12-20 18:14:59
·
answer #6
·
answered by el tramposo 1
·
1⤊
4⤋