0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 7
|
||||||
1 | ||||||
Тангенс угла через ряд Тейлора24.09.2020, 19:47. Показов 7060. Ответов 6
Здравствуйте, у меня работает данная программа для нахождения маленьких углов. Но, например при нахождении угла в 6,28 радиан выдаёт ошибку. Как решить данную проблему?
(Возможно надо увеличить кол-во итераций, но тогда в значениях выдаётся -nan(ind).)
0
|
24.09.2020, 19:47 | |
Ответы с готовыми решениями:
6
Вычисление значения синуса угла разложением в ряд Тейлора Косинус через ряд Тейлора Косинус через ряд Тейлора Вычисление экспоненты через ряд Тейлора |
2129 / 1212 / 503
Регистрация: 11.10.2018
Сообщений: 6,140
|
|
24.09.2020, 20:15 | 2 |
- это не сработает для дробных.
Насколько я понимаю есть ряды где x должен быть x < 1, иначе ряд не сработает. Возможно у Вас этот ряд. Добавлено через 14 минут Дак для тангенса, же вроде свой ряд есть? Зачем sin и cos считать?
0
|
Модератор
|
||||||
24.09.2020, 20:55 | 3 | |||||
OpoPo, замените вычисления, чтобы обойтись без непосредственного вычисления факториала.
Покажу для sin(x), а для cos(x) сделаете по аналогии где предыдущий член ряда их соотношение таким образом
0
|
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 7
|
|
24.09.2020, 22:09 [ТС] | 4 |
Мне нельзя использовать библиотеку math.
Добавлено через 1 минуту Я не понимаю последовательность для тангенса. Там какие-то странные преобразования.
0
|
Модератор
|
|
24.09.2020, 22:16 | 5 |
Для вычислений чисел Бернулли видел примерно с десяток алгоритмов.
В часности Функция подсчета чисел Бернулли Перенос на C не займёт много времени. Но, вероятно это и не требуется. Вычисляйте sin и cos по реккурентной формуле, сравнивайте cos с нулём и получайте тангенс.
0
|
Модератор
|
|||||||||||
25.09.2020, 10:42 | 7 | ||||||||||
Сообщение было отмечено OpoPo как решение
Решение
Мне кажется, что основная ошибка - непосредственное вычисление факториала. В итоге вычисляется 20!, что переполняет разрядность. При малом значении аргумента x это как-то компенсируется.
Для правильного вычисления нужно вычислять по реккурентной формуле. Но, ТС, похоже совсем не умеет программировать и код где-то нашёл, потому, что мои пояснения о реккурентных вычислениях он отмёл фразой т.е. даже без попытки разобраться. Добавлено через 34 минуты
Выходов может быть несколько: 1) уменьшить x до приемлемых значений вычитанием 2) использовать функции двойного (тройного) аргумента для вычисления sin и cos, т.е. x делится на 2k до достижения приемлемых значений, а потом последовательно вычислять функции удвоением аргумента до достижения значения x. Добавлено через 57 минут Процедура my_sincos. Делением на 2 приводим аргумент к значению не превосходящему 1,0 - получим условный z=x/2k. При этом подсчитываем количество таких делений - k. Для уменьшенного аргумента без проблем вычисляем значения sin(z) и cos(z). Потом по формулам удвоения аргумента в цикле k раз вычисляем sin(2z) и cos(2z) и окончательно получаем sin(x) и cos(x). Чтобы не вводить лишние переменные, вместо z используем x, тем боле, что после вычисления начального приближения через ряд Тейлора, ни значение x, ни значение z уже не требуется. Продемонстрирую подход со значением x=300, при котором непосредственное вычисление при помощи ряда Тейлора переполняет разрядную сетку.
2
|
25.09.2020, 10:42 | |
25.09.2020, 10:42 | |
Помогаю со студенческими работами здесь
7
Вычисление значения косинуса через разложение в ряд Тейлора Найти в треугольнике тангенс угла альфа и длину биссектрис Вычисление гиперболического косинуса через разложение в ряд Тейлора с помощью рекурсивной процедуры Тангенс через разложение в ряд Тейлора Тангенс угла в прямоугольном треугольнике зная тангенс другого угла Если разложить тангенс в ряд Тейлора, будет ли он расходиться или сходиться? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
|
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
|
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
|
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
|
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
|
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
|
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
|
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
|
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
|
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
|