uForum.uz

uForum.uz (https://uforum.uz/index.php)
-   Разминка для мозгов (https://uforum.uz/forumdisplay.php?f=470)
-   -   Новости про число Пи (https://uforum.uz/showthread.php?t=7919)

Evgeniy Sklyarevskiy 15.02.2009 00:47

Новости про число Пи
 
Почему-то этот ряд неожиданно дает число Пи:

x = x + Sin(x + Sin(x + Sin(x + Sin(x + Sin(x + Sin(x + Sin(x)))))))

И рождает несколько вопросов.

Подробности в арбузном блоге http://blog.arbuz.uz/2009/02/15/novosti-pro-chislo-pi/

Nadir Zaitov 17.02.2009 16:41

x=x+sin(x) - это один из древнейших итерационных алгоритмов вычисления числа Пи. Скорость вычисления числа - 2n точных чисел, при n точных числах в предыдущей итерации. Скорость схождения действительно фантастическая.

Dolphin 17.02.2009 17:16

Цитата:

Если начальное значение х задавать 1, 2, 3, 4, 5, 6 - то сходится к Пи. Если задать 6.5, 7, 8, 9 - то сходится к 2*Пи. Если задать х=20, то сходится к 6*Пи. Закономерность не отследил, может, кто-то из читателей установит ее.
Закономерность есть. Если исходное число больше пи менее, чем в 2 раза - получится пи. Если исходное число больше пи более, в 2 раза, но менее, чем в 3 раза - 3 пи.... итд.

Nadir Zaitov 17.02.2009 17:34

Цитата:

Сообщение от Eclipse (Сообщение 182741)
Закономерность есть. Если исходное число больше пи менее, чем в 2 раза - получится пи. Если исходное число больше пи более, в 2 раза, но менее, чем в 3 раза - 3 пи.... итд.

Тогда почему в окресности 0 Пи не сходится к 0. Я вообще удивлен, что сходится к 2*Пи. Должно сходится к точкам (2n+1)*Пи. Это было бы логично, так как 2n*Пи для x=x+sinx не является устойчивым решением.

Evgeniy Sklyarevskiy 17.02.2009 17:35

Цитата:

Сообщение от Nadir Zaitov (Сообщение 182722)
x=x+sin(x) - это один из древнейших итерационных алгоритмов вычисления числа Пи. Скорость вычисления числа - 2n точных чисел, при n точных числах в предыдущей итерации. Скорость схождения действительно фантастическая.

Странно, что я его не знал - хотя копал тему и заюзал почти все алгоритмы вычисления Пи.

Nadir Zaitov 17.02.2009 17:47

Кстати проверил. 6,5, 7, 8, 9 - сходятся к 3*Пи. Очипятка там. И к 6Пи ничего не сходится, а сходится к 7Пи.

Nadir Zaitov 17.02.2009 17:50

Цитата:

Сообщение от Evgeniy Sklyarevskiy (Сообщение 182752)
Странно, что я его не знал - хотя копал тему и заюзал почти все алгоритмы вычисления Пи.

В институте с помощью этого алгоритма находил до 10 тыс. точных знаков. Дальше были проблемы с памятью. Лень было на диски все сбрасывать :) Если найду дома, сброшу Вам программу на Паскале.

Evgeniy Sklyarevskiy 17.02.2009 17:53

Цитата:

Сообщение от Nadir Zaitov (Сообщение 182770)
Цитата:

Сообщение от Evgeniy Sklyarevskiy (Сообщение 182752)
Странно, что я его не знал - хотя копал тему и заюзал почти все алгоритмы вычисления Пи.

В институте с помощью этого алгоритма находил до 10 тыс. точных знаков. Дальше были проблемы с памятью. Лень было на диски все сбрасывать :) Если найду дома, сброшу Вам программу на Паскале.

А Паскаль откуда брал синус? Вложенная функция тоже через ряды считается?

Nadir Zaitov 17.02.2009 18:04

Цитата:

Сообщение от Evgeniy Sklyarevskiy (Сообщение 182772)
Вложенная функция тоже через ряды считается?

Ряд Тейлора. Считается быстро за счет факториала. Самое сложное было - синус быстро подсчитать. Одна итерация в результате шла до 6 часов. (Пришлось писать самому библиотеку со своей математикой больших чисел)

Nadir Zaitov 18.02.2009 09:12

Вложений: 1
Обещанное во вложении.

Используется еще более быстрый итерационный алгоритм: x=x+sin(x)+sin(x)^3/6 - дает в 4 раза больше точных знаков (если не больше - должно быть в 8 раз больше - нужно формулу вспомнить) при начальной точности в N знаков.

Заметьте, что синус нужно считать только 1 раз. Доказывалось через разложение arctg(1)=Пи/4, однако уже не помню доказательство. Могу подумать на досуге и дать "следующий член" в разложении для еще более быстрого подсчета Пи.

Оффтоп:
ЕС, может тему перенести в "Разминку мозгами"?


Текущее время: 23:14. Часовой пояс GMT +5.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
OOO «Единый интегратор UZINFOCOM»