0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 67
|
|
1 | |
Вычислить и вывести на экран в виде таблицы значения функции ln(x), заданной в виде ряда Тейлора17.02.2017, 07:48. Показов 5082. Ответов 6
Метки нет Все метки)
(
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью
ряда Тейлора, на интервале от хнач до xкон с шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. ![]()
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
17.02.2017, 07:48 | |
Ответы с готовыми решениями:
6
|
Модератор
9478 / 4802 / 3210
Регистрация: 17.08.2012
Сообщений: 15,036
|
||||||
17.02.2017, 20:34 | 2 | |||||
![]() Решение
Для начала можно произвести замену n := n + 1, чтобы не возиться с прибавлением единицы. Получим
Найдём рекуррентное соотношение для членов (преобразованного) ряда: Конечно, можно было бы использовать очевидные рекуррентные соотношения отдельно для числителя и отдельно для знаменателя, но программа получается чуть длиннее.
1
|
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 67
|
|
01.03.2017, 12:40 [ТС] | 3 |
А вот для этого уравнения?
0
|
Модератор
9478 / 4802 / 3210
Регистрация: 17.08.2012
Сообщений: 15,036
|
|||||||||||
01.03.2017, 23:15 | 4 | ||||||||||
![]() Решение
Нет. В этом случае не совсем помогу, поскольку корректно данное задание не очень-то и выполнимо. Этот ряд практически неприменим для вычисления значения логарифма числа с заданной точностью с помощью компьютера. Посмотрим, почему это так.
Для простоты поделим всё на 2 и приступим... Это знакопостоянный ряд, "обычный" критерий окончания вычислений (если модуль очередного члена ряда < ε) не подходит. Воспользуемся оценкой остатка ряда по интегральному признаку Коши-Маклорена для знакоположительного ряда: Вот тут-то и загвоздка. Получается, что для того, чтобы корректно вычислить ln(x) с помощью ряда, нужно вычислить ln((x-1)/(x+1)). Мало того, в первообразной нагло торчит интегральная показательная функция, а это уже совсем труба. Обозначим для простоты аргумент Ei как t=(2n+1)ln(z). Ei - функция, не вычисляемая аналитически, но её можно вычислить, например, с помощью ряда Тейлора: где γ≈0.5772156649015328606065 - постоянная Эйлера, которую, если не задавать константой, тоже надо вычислять, например, как предел частичной разности гармонического ряда и логарифма (sic!) от количества членов ряда. Аж смешно. Для того, чтобы правильно вычислить логарифм, нужно минимум два раза вычислить логарифм. Это напоминает действия Мюнхаузена по вытаскиванию себя вместе с лошадью из болота за собственные волосы. Вообще говоря, я давно уже (некорректно) решил эту задачу, программа вот в этой теме: Циклы: вычислить значение суммы бесконечного ряда с заданной точностью, пост #3. Однако, сейчас я бы вычислил рекуррентное соотношение несколько по-другому: Для Вашего случая в программе нужно заменить
Есть некоторый смысл вычислить сумму ряда с точностью до компьютерного эпсилон:
Вот, как-то так... Думаю, что подобные задания сегодня попадаются из-за некомпетентности составителей задач. Я уверен на 99%, что составитель этой задачи наивно полагал, что вычисления следует прекратить, как только очередной член ряда станет меньше ε. Ну что тут поделаешь... Молодые, необстрелянные ребята, впервые взявшие в руки лопату... Не ведают, каким концом землю ковырять, а задачки уже составляют со святой верой в свою непогрешимость. Обидно мне как-то. Что-то неладное случилось с качеством знаний после постсоветской реформы образования.
2
|
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 67
|
|
03.03.2017, 07:59 [ТС] | 5 |
Cyborg Drone, а почему в первой формуле нельзя ввести значение больше 2х?
0
|
Почетный модератор
64270 / 47569 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
03.03.2017, 08:36 | 6 |
Потому что при x>2 числитель дробей растет быстрее чем знаменатель и ряд не сойдется.
1
|
Модератор
9478 / 4802 / 3210
Регистрация: 17.08.2012
Сообщений: 15,036
|
|
16.11.2019, 14:47 | 7 |
Дополнение к моему ответу: даже если удастся для данного ряда найти верный критерий окончания вычислений, обычным способом вычислить сумму с заданной точностью не удастся. Так как ряд сходится очень медленно, то, чтобы не потерять точность, придётся вычислять сумму ряда "задом наперёд": начиная с последнего не отбрасываемого члена ряда, и оканчивая членом ряда с номером 0.
0
|