|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2008, 22:53 | #1 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
Свой натуральный логарифм
Здравствуйте, уважаемые форумчане ! ! ! Кто подскажет как написать натуральный логарифм, для своего типа данных, разложение в ряд долго считается ! В нете много чего обыскал, на русских, английских сайтах так и ничего не нашел !
|
10.02.2008, 23:08 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
А что есть "свой тип данных"? Да и рядом, вообще-то, мухой собирается.
|
11.02.2008, 02:34 | #3 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
Свой модуль который реализирует арефметические операции и т.д.
|
11.02.2008, 08:34 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
11.02.2008, 16:59 | #5 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Как-то не понял я, в чём проблема...
Применяем подстановку x = (1 + y)/(1 - y), решаем ее по y, получаем y = (x - 1) / (x + 1), раскладываем в ряд: Код:
Код:
Код:
|
11.02.2008, 16:59 | #6 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
И теперь видим, что, например, нат. логарифм гугола вычисляется за..
Код:
|
11.02.2008, 23:25 | #7 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
B_N, спасибо тебе, от души спасибо большое, просто респект тебе, но есть довольно таки большая проблема, я не знаю С, программирую на Делфи только, если тебе не составит проблемы перевести этот код на Делфи, я просто всю жизнь тебе буду благодарен
|
12.02.2008, 00:53 | #8 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Код:
1. Выше я написал, что ln(1e100) для такой-то точности получается за 23 прохода - это не совсем так, на самом деле раньше, а дальше идет уже бесполезная трата времени, связанная с представлением типа double (см. http://en.wikipedia.org/wiki/Double_precision ). У него в мантиссе 52 бита, что дает максимум 15-16 значащих десятичных знаков. 2. Тот логарифм, который получается у меня, самую малость (в последнем знаке) отличается от "системного". Видимо это связано с тем, что библиотечный использует типы данных сопроцессора (в паскале можно использовать extended вместо double) или с использованием другого разложения. 3. Логарифм двойки выбран не случайно - представление вещественных чисел дает возможность напрямую получать параметр, который я получал с помощью деления, из экспоненты числа (см. ссылку). Оставляю Вам поэкспериментировать со всем этим. Последний раз редактировалось B_N; 12.02.2008 в 01:33. |
12.02.2008, 01:59 | #9 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
Огромное спасибо ! ! ! Только ещё одна проблема : Как тебе повысить репутацию ? Кнопка : Добавить отзыв вроде не работает
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Есть ли у вас свой сайт? | Delpher | Свободное общение | 43 | 23.05.2009 07:55 |
In как этот логарифм в Delphi записать | delphin100 | Общие вопросы Delphi | 1 | 02.06.2008 19:20 |
Свой hint | Altera | Общие вопросы Delphi | 3 | 14.05.2008 15:01 |
Как создать свой формат? | Rahim1993 | Общие вопросы Delphi | 2 | 04.03.2008 17:04 |
Логарифм в паскале | gamer123 | Помощь студентам | 1 | 20.01.2008 15:15 |