|
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 13
|
|||||||
Расходящиеся ряды или как правильно задать проверку13.11.2009, 15:31. Показов 1788. Ответов 4
Метки нет (Все метки)
Здравствуйте,
наткнулся на проблему, которая не дает покоя мозгу. Ситуация следующая: Работаю в среде MS Visual Studio 2005(C++), написал программу вычисления функции методом рядов Тейлора. Функция разложения : f=ln(1-x), Раскладывается она следующим образом: http://i36.tinypic.com/20fysfp.gif При входе в цикл первое значение вычисляется после 10,000,000 операций (если E задать 1e-7), если же задать E = 1e-8, то первое значение вычисляется уже после 100,000,000 операций (это видно в выводе) Причем если задать дополнительную проверку на максимальное кол-во итераций (допустим 1000), то точность теряется где-то уже после 3-4 знака.. Вообще говоря, происходит какое-то непонятное переполнение, после которого точность сильно повышается, а кол-во итераций снижается на несколько порядков! Как и с чем это может быть связано и возможен ли другой способ проверки значения во втором цикле for?(может быть, y2-y1 < E? Как это можно реализовать?) По-идее, функция(ряд Тейлора) расходится при больших n... Вот здесь то и вопрос: Как быть в таком случае? Код программы (C++):
0
|
|||||||
| 13.11.2009, 15:31 | |
|
Ответы с готовыми решениями:
4
Как правильно организовать проверку на отсутствие или существование записи в mysql Как правильно задать http запрос, если нужно задать reqest header? Подскажите как задать проверку |
|
║XLR8║
|
|||||||||||
| 13.11.2009, 18:45 | |||||||||||
|
здесь
здесь
Это касательно мелочи.. Если что конкретно не ясно, спрашивайте..
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 13
|
|
| 13.11.2009, 22:43 [ТС] | |
|
0
|
|
|
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
|
|||||||||||
| 14.11.2009, 03:01 | |||||||||||
|
В случае, когда x = -1, боюсь, что ничего нельзя сделать. Ряд является знакочередующимся, поэтому и накладываються ограничения на значения X.
Добавлено через 44 минуты Хотя, можно использовать следующее условие: Если значение x<0, то вместо него можно использовать обратное ему значение для данной функции, а именно x=x/(x-1); Например ln(1-(-1))=-ln(1-(1/2)). В таком случае ряд перестает быть знакочередующимся, и операция выполняется намного быстрее. Например для значений X = -1 и eps = 1e-7 количество итераций составляет 21, а для eps = 1e-8, всего лишь 22. На примере своей программы приведу дополнительные условия:
Немного ошибся в условиях, вот правильный код
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 13
|
||||||
| 30.11.2009, 10:56 [ТС] | ||||||
|
Всем спасибо за поддержку и советы!
В итоге отладив программу пошагово, я понял наконец, где я теряю минус и преобразовал программу к такому виду(работает вполне сносно!): code
P.S. функция немного другая правда: ln(x+1) Но сути это не меняет, она такая же знакопеременная(не нужен только минус за скобкой как в первом примере)
0
|
||||||
| 30.11.2009, 10:56 | |
|
Помогаю со студенческими работами здесь
5
Как задать условие на проверку наличия файла Как правильно делать проверку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|