Натуральный логарифм с++

программирование математика с++

Необходимо посчитать нат. логарифм через ряд Тейлора, и сравнить его с нат логарифмом из math.h

Получается огромная разбежка. Не могу понять в чем дело

http://pastebin.com/JnYuTNAj

Примечание:
Проблемы были с преобразованием типов, чтобы не гадать и не плодить лишние скобки, переделал все функции под double. Т.е. проблемными оказались степень и факториал. Всем спасибо.
Ответы:
Посмотрел. В коде серьёзных ошибок не нашел. Так что, думаю, это из за плохой сходимости Тейлора для значений далёких от нуля (от 1 в нашем случае). Я бы использовал метод Ньютона.
Ну короче все тут совсем несложно. Идея верная, реализация вроде тоже. Но! Такую формулу можно использовать только для x близких к единице, т.к. в формулу Тейлора входит член f(a). Значение логарифма в какой-то точке нам определить непросто, так как мы пишем сам логарифм. Поэтому без дополнительных математических средств (пользуясь только формулой Тейлора) мы не можем найти f(a). Нам известно значение f(a) только при a = 1, f(a) = 0. При этом значении формула, которую ты используешь верна. Т.е. программа выдает верные значения только для x близких к 1.

Ссылки

[1]
myLn
(Web)


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.