Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом.
А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10.
Заранее спасибо.
Здравствуйте, Аноним, Вы писали:
А>Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом. А>А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10. А>Заранее спасибо.
1) Если нужна точность в 20 разрядов -- переписать дабл.
2) Если нужна оценка -- применить метод перевала
Здравствуйте, Аноним, Вы писали:
А>Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом. А>А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10.
вы монтекарлом интегрируете? попробуйте разделить интеграл на 2 суммы- область вокруг максимума и остальное, соотвественно в каждой из этих областей можно попробовать подобрать маштаб по абсцисс и ординат такой, чтобы точность вычисления была приемлеммой(тоесть чтобы результат вычислений был сильно больше LDBL_EPSILON).
Здравствуйте, Аноним, Вы писали:
А>Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом. А>А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10. А>Заранее спасибо.
Можешь разделить на два участка. Но, можно
1. разделить все значения функции на любую константу. После вычисления интеграла, умножь на эту константу.
2. Начинать суммирвание с деления не пополам, а на достаточно большое число частей, что б избежать переполнения разрядной сетки.
Можно применить оба метода
B> 1. разделить все значения функции на любую константу. После вычисления интеграла, умножь на эту константу.
этот метод ввел меня в ступор. Какой в этом смысл? флоаты это флоаты, их основная фича это как раз автоматическое масштабирование и большой диапазон экспоненты.
Здравствуйте, dilmah, Вы писали:
B>> 1. разделить все значения функции на любую константу. После вычисления интеграла, умножь на эту константу.
D>этот метод ввел меня в ступор. Какой в этом смысл? флоаты это флоаты, их основная фича это как раз автоматическое масштабирование и большой диапазон экспоненты.
А ты не комплксуй.. Решай задачу. Может ты не угадал с их основной фичей, или эта фича тебя лично в этой задаче не срабатывает.
Вместе с разбиением на отрезки в а-10n степенью мельче, все получится.
B>>А ты не комплксуй.. Решай задачу.
D>да мне не нужно, я так, мимо проходил.
Ну, так и я тем же самым занимался
Re: Численное интегрирование
От:
Аноним
Дата:
28.05.10 06:27
Оценка:
Всем спасибо. В итоге пришел к делению на куски по признаку величины разряда 8). Просто
думал программистское вмешательство в матем. методы не есть гут. Оказалось, только так
и надо