LINUX.ORG.RU
решено ФорумTalks

[матан] задача.

 


0

1

---------
Известно, что предел числа a_n=(1+1/n)^n при n->inf равен e.

Определить число n при котором |е-а_n|<0.0001
---------

При определении e как ряда sum(1/n!) остаточный член найти просто. А тут я уже все перепробовал. Не получается :(

★★☆☆☆

> Определить число n при котором

1000000000 точно.

damnemall
()

Может как то так: a_n=e-x. (x- погрешность). берем логарифм от обеих частей равенста. И раскладываем левую часть в ряд по малому параметру (т.к. n очевидно большое). Решение простого уравнения дает число типа 1/2(1-ln(e-x)). Правда, это не совсем точное решение. Но, если n- натуральное, то после округления получается ответ.

RCV ★★★★
()
drull@ubuntu:~$ cat 1.c 
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main()
{
long double a_n=0,n;
printf("M_E=%1.15lf\n",M_E);
for(n=1; M_E-a_n>0.0001 ;n++)
	{
	a_n=pow((long double)(1+1/n),n);
	}
printf("n = %.0Lf, a_n = %1.15Lf , M_E-a_n = %1.15Lf\n", n, a_n, M_E - a_n );
}
drull@ubuntu:~$ g++ 1.c
drull@ubuntu:~$ ./a.out 
M_E=2.718281828459045
n = 13592, a_n = 2.718181832191041 , M_E-a_n = 0.000099996268004
drull ★☆☆☆
()
Ответ на: комментарий от null123

>определении точности больше похоже на числяки. Задачу сказали на бумаге решить?

На бумаге.

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от unanimous

Очень интересно. Походу, RCV раньше всех рассмотрел решение.

Сейчас разложил в ряд Тейлора, вроде оно, но пока туплю еще :)

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от unanimous

Все. врубился. просто все члены кроме 1/2n можно отбросить отбрасываем.

Итак, матановский приз ЛОРа достается... RCV!!!

unanonimous достается 1-ln(e-\epsilon) приза :)

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от RCV

>Может как то так: a_n=e-x. (x- погрешность). берем логарифм от обеих частей равенста. И раскладываем левую часть в ряд по малому параметру (т.к. n очевидно большое).

Спасибо! То что надо!!

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от drull

>drull@ubuntu:~$ cat 1.c

Ох уж эти программисты :)

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от dikiy

я воспользовался неравенством

x-x^2/2 <= ln(1+x) <= x, которое можно доказать элементарными методами. Далее искомый предел пожет быть записан как exp(n*ln(1+1/n)). В силу непрерывности экспоненты, имеем

exp(n(1/n - 1/2n^2)) <= (1+1/n)^n <= exp(n(1/n)) = e или

exp(1-1/2n) <= (1+1/n)^n <= e.

Дальше уже легко

unanimous ★★★★★
()
Ответ на: комментарий от sergej

>Вероятно надо записать остаточный член и по нему найти n

Я вроде и мыкался в этом направлении, но почему-то таки не домыкался. А все дрючил биноминальный коэффициент к (1+1/n)^n и разложение e в ряд sum(1/n!).

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от unanimous

>x-x^2/2 <= ln(1+x) <= x, которое можно доказать элементарными методами.

Собсно то же самое, вид с боку. А откуда про неравенство догадался? Знал про него?

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от dikiy

нет, но его легко доказать с помощью ряда тейлора логарифма и остаточного члена в форме Лагранжа

ln(1+x) = x + 1/2! [-1/(1+epsilon)^2]. В силу монотонности остатка по \epsilon на отрезке [0;1] имеем искомые неравенства

unanimous ★★★★★
()
Ответ на: комментарий от unanimous

С другой стороны (я говорил про элементарыне методы), неравенство ln(1+x) <=x доказывается очень легко: функция f(x) = ln(1+x)-x мотононно убывает, о чем говорить отрицательный знак ее производной 1/(1+x) -1 на луче [0; +\infty). Соответственно, g(x) = ln(1+x)-x+ x^2/2 монотонно возрастает, что тоже можно установить из знака производной, хотя уже чуточку сложнее.

unanimous ★★★★★
()
Ответ на: комментарий от unanimous

>нет, но его легко доказать с помощью ряда тейлора логарифма и остаточного члена в форме Лагранжа

Это да. Но интересно, как ты догадался именно это неравенство взять.

dikiy ★★☆☆☆
() автор топика

>предел числа
рукалицо?

Tanger ★★★★★
()
Ответ на: комментарий от dikiy

Ну понятно же, что надо искомую величину как-то оценить. Идея появилась после того, как я представил искомый предел в виде exp(n\ln(1+1/n))

unanimous ★★★★★
()

А ты в каком задачнике по матану такую нашел?

aedeph
()
Ответ на: комментарий от sergej

Черт, все правы, даже пособачиться не с кем.

А нет, есть

Вероятно надо записать остаточный член и по нему найти n

Где ты тут ряд увидел?

mclaudt
()
   {. (#~ 0.0001 > 1x1-(^~>:&%)) i.1e5
13591


На языке J это можно посчитать так.
Правда, у меня почему-то такое ощущение, что это плохой код

Xenius ★★★★★
()
Ответ на: комментарий от Xenius
{.(#~1e_4>1x1-(^~>:&%))i.1e5


Если хочется краткости. Кстати, наверное можно и ещё короче на несколько символов.

Xenius ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.