sacar el valor de la constante matemática "e".

Iniciado por mort, 17 Febrero 2015, 01:58 AM

0 Miembros y 1 Visitante están viendo este tema.

mort

Escriba un programa que estime el valor de la constante matemática e, mediante el uso de la fórmula:

e = 1 + 1/1! + 1/2! + 1/3! + ...

Necesito que me corrijan si entendí bien, bueno, para empezar no recuerdo haber visto lo de la constante "e" en la preparatoria o al menos creo que la vi un poco en temas de derivadas, pero en fin, nunca la estudie muy a fondo, así que cuando lei la definición en la wikipedia me sentí deslumbrado por la cantidad de conceptos que no entiendo, y por lo tanto me di cuenta de mi falta de conocimiento teórico  en matemáticas, bueno según a lo que yo entiendo tengo que sacar el valor de "e" que es aproximadamente : 2,7182818284590452..., mediante la formula que va en ascenso, es decir después de 1/3! sigue el 1/4! y así sucesivamente hasta que el resultado de un numero aproximado a e?.

Orubatosu

Exactamente, aproximado, pero nunca exacto.

El número "e" es irracional.

Es decir: tiene un numero infinito de decimales. Generalmente con unos pocos es mas que suficiente para cualquier aplicación, pongamos 8 decimales por ejemplo deberían de ser suficientes.

No es un caso raro, hay muchos números irracionales que se usan habitualmente en matemática, como Pi o la raíz de 2
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

engel lex

para hacerlo no es tan complicado, muestra algo de progreso si quieres recibir algo de ayuda real...


si quieres hacerlo en alta precisión (miles o millones de decimales) aquí un tema con un poco de eso

Calculo de pi en alta precisión (aporte)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Gh057

Hola mort, lo solicitado se refiere a las series extendidas de Taylor. Es una aproximación mediante la suma de sucesivos términos -que se obtienen de las derivadas sucesivas de f en a- siendo necesario que la funcion f (o un intervalo de ella) sea continua, o sea  presente límites izquierdos y derechos iguales para todos a en dicho intervalo. Para acercarse más al valor correcto, se debe agregar el resto, como un término más.

el número  e presenta la particularidad que todas su derivadas valen lo mismo. :)

Te sugiero que leas sobre ello, igualmente teniendo la FT para e solo es cuestión de codearlo... y ya engel lex hizo un gran aporte sobre Pi que puedes implementarlo para tu ejercicio. O bien hacer una versión simple sin gmp, pero recuerda el límite de las variables.
Saludos
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

okik

#4
El número 'e' es el límite de la sucesión:

an= (1+1/n)n




luego es:

e= lim (1+1/n)n  -> cuando n tiende a infinito

De modo que cuanto mayor sea el valor de N más exacto será el valor de  'e'. Por ejemplo:

(1 + 1/100)100= 2.7048138294031855135...
(1 + 1/1000)1000= 2.7169239326424202463...
(1 + 1/10000)10000= 2.7181459268252250988...
(1 + 1/100000)100000=2.7182682371744897556...
(1 + 1/1000000)1000000=2.7182804693193768982...
(1 + 1/10000000)10000000=2.7182816925449640074...
...


Solamente se puede tener el número aproximado pues es un número irracional.

Si usas programas de cálculo, es posible que si da un número muy elevado a N te de como resultado 1 y no 2,71....

También sirve:



Aquí te dejo una manera de hacerlo con VB6, tendrás que pasarlo a C
Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim e As Variant
Dim i As Variant
For i = 0 To (100)
e = e + (1 / Factorial(i))
Next i
Print e
End Sub

Private Sub Command2_Click()
Dim e As Variant
e = (1 + 1 / 10000000000#) ^ 10000000000#
Print e
End Sub

Public Function Factorial(NumFactorizar As Variant) As Variant
Dim X As Variant
X = NumFactorizar
For i = 1 To NumFactorizar - 1
X = X * (NumFactorizar - i)
Next i
If X = 0 Then X = 1
Factorial = X
End Function


Seguramente haya una manera mejor, pero espero que te sirva de idea

Miseryk

Cita de: engel lex en 17 Febrero 2015, 13:59 PM
para hacerlo no es tan complicado, muestra algo de progreso si quieres recibir algo de ayuda real...


si quieres hacerlo en alta precisión (miles o millones de decimales) aquí un tema con un poco de eso

Calculo de pi en alta precisión (aporte)

Yo había visto en un proyecto de VB6 que para calcular PI usaba ésto:

Código (vb) [Seleccionar]

MsgBox Atn(1) * 4
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

okik

Hola,
El sábado estaba algo aburrido y me propuse averiguar otra forma de obtener el número e o base de los logaritmos naturales. Mi objetivo era obtener algo así:

2.718281828458563411277850606202642376785584483618617451918618203875586213119643873179950822014292195

Pero no lo he conseguido. Sin embargo he podido reducir la forma de calcularlo que puse en mi ejemplo anterior, eliminando la función "Factorial":

Código (vb) [Seleccionar]
Dim e As Double
Dim X As Integer
Dim Fact As Double
Fact = 1
    For X = 0 To 100
        If X > 0 Then Fact = Fact * CDbl(X)
            e = e + (1 / Fact)
    Next X

Print e


engel lex

Cita de: okik en 24 Febrero 2015, 14:32 PM
Hola,
El sábado estaba algo aburrido y me propuse averiguar otra forma de obtener el número e o base de los logaritmos naturales. Mi objetivo era obtener algo así:

2.718281828458563411277850606202642376785584483618617451918618203875586213119643873179950822014292195

repito

Cita de: engel lex en 17 Febrero 2015, 13:59 PM
si quieres hacerlo en alta precisión (miles o millones de decimales) aquí un tema con un poco de eso

Calculo de pi en alta precisión (aporte)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.