0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 3
|
||||||
Задача на нахождение значения функции22.11.2018, 08:51. Показов 2912. Ответов 5
Надо написать программу которая находит значение функции e-x2 через ряд Тейлора, она работает от -4 до 4, хотя должна от минус бесконечности до положительной. Помогите, братцы(
Значение функции в заданной точке найти с заданной точностью εps. Для проверки правильности вычисления вывести на экран очередное значение xi, приближённое значение f(xi), количество просуммированных членов ряда, и значение функции, вычисленное с помощью стандартных функций Pascal.
0
|
22.11.2018, 08:51 | |
Ответы с готовыми решениями:
5
Нахождение наибольшего и наименьшего значения функции. |
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 3
|
|
22.11.2018, 10:31 [ТС] | |
При вводе данных ниже значения совпадают до Х=4, после четырех начинают возрастать по модулю и беспорядочно менять знак, помощь нужна в этом плане
Введите xmin и xmax: 0 10 Введите Е и N: 28 11 1E-28 Шаг X: 1 ________________________________________ _______ X |Y |Колво членов ряда|y1 | ________________________________________ _______ 0 1.0000000000000000000000000000 2 1.0000000000000000000000000000 1 0.3678794411714420000000000000 28 0.3678794411714420000000000000 2 0.0183156388887345000000000000 46 0.0183156388887342000000000000 3 0.0001234098040126630000000000 65 0.0001234098040866800000000000 4 0.0000001125418050887180000000 89 0.0000001125351747192590000000 5 0.0000010525762268556400000000 117 0.0000000000138879438649640000 6 0.0510930537181251000000000000 149 0.0000000000000002319522830244 7 31468.1810700761000000000000000000 187 0.0000000000000000000005242886 8 -14196376812.1849000000000000000000000000 229 0.0000000000000000000000000002 9 548057726238561000.000000000000000000000 0000000 276 0.0000000000000000000000000000 10 -262204545007441000000000000.000000000000 0000000000000000 329 0.0000000000000000000000000000
0
|
Модератор
10147 / 5484 / 3370
Регистрация: 17.08.2012
Сообщений: 16,777
|
|||||||||||
22.11.2018, 23:40 | |||||||||||
![]() Решение
С чего Вы взяли, что железяка под названием "компьютер" может посчитать всё, что угодно, прямо до любой бесконечности? Учите матчасть.
Всё так и должно быть. Вот так просто, изменив пару операторов в Вашей программе, ничего сделать не удастся. Объяснение: в машинном представлении для типов real и double для мантиссы числа отводится 52 двоичных разряда, что примерно эквивалентно 15, ну, с натяжкой, 16 (значащим) десятичным разрядам, что прекрасно видно, кстати, по протоколу работы Вашей программы. Для x > 1 при увеличении n значение x2n поначалу растёт быстрее, чем n!, поэтому возникает ситуация, когда сумма "y" будет настолько большая, что очередное слагаемое "t" будет менее веса младшего значащего разряда мантиссы "y", и все оставшиеся "t" не повлияют на сумму "y". Экстенсивные методы решения проблемы: сменить тип real на extended, тогда будет около 20 десятичных значащих разрядов в мантиссе числа:
Можно ещё применить длинную арифметику для чисел с плавающей точкой, но вряд ли стоит браться за сиё неблагодарное занятие. Правильный метод решения этой проблемы: применить тождество e-x2=e[-x2]e{-x2}, где квадратные [] и фигурные {} скобки означают целую и дробную часть для -x2 соответственно. Тогда e[-x2] можно вычислить с помощью цикла for, поскольку [-x2] - целое, а e{-x2} - с помощью ряда Тейлора, и антипереполнения не возникнет, так как |{-x2}| < 1. Добавлено через 14 минут Можно ещё мой пост вот в этой теме: Вычислить e^x с заданной точностью по разложению в ряд почитать. Добавлено через 1 минуту Не по теме: Фотографии текста запрещены. Ещё раз выложите фотографию текста - прокляну.
1
|
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 3
|
|
23.11.2018, 02:49 [ТС] | |
Большое спасибо. У меня были подозрения, что числа получаются больше предусмотренного типом данных, но я думал Паскаль скажет мне об этом. Был бы признателен за чуть более подробное объяснение правильного решения.
Ошибки в теме учту
0
|
Модератор
10147 / 5484 / 3370
Регистрация: 17.08.2012
Сообщений: 16,777
|
||||||
24.11.2018, 23:23 | ||||||
![]() Решение
Например, пусть x = 20.5. Тогда -x2 = -420.25. Нужно вычислить е-420.25. Представляем это в виде
e-420.25 = e(-420)+(-0.25) = e-420e-0.25. Теперь пусть k = -420, q = e-420 = ek, d = e-0.25. Вычисляем q, например, следующим образом:
1
|
24.11.2018, 23:23 | |
Помогаю со студенческими работами здесь
6
Нахождение значения функции с использованием рекурсии
Вычислить значения функции. Правильно ли решена задача? Задача с While. Вычислить значения функции на заданном промежутке Задача на нахождение значения функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточное программирование в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
|