Численное интегрирование
От: Аноним  
Дата: 25.05.10 16:30
Оценка:
Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом.
А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10.
Заранее спасибо.
Re: Численное интегрирование
От: denisko http://sdeniskos.blogspot.com/
Дата: 25.05.10 17:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом.

А>А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10.
А>Заранее спасибо.
1) Если нужна точность в 20 разрядов -- переписать дабл.
2) Если нужна оценка -- применить метод перевала
<Подпись удалена модератором>
Re: Численное интегрирование
От: Sni4ok  
Дата: 25.05.10 17:27
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом.

А>А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10.

вы монтекарлом интегрируете? попробуйте разделить интеграл на 2 суммы- область вокруг максимума и остальное, соотвественно в каждой из этих областей можно попробовать подобрать маштаб по абсцисс и ординат такой, чтобы точность вычисления была приемлеммой(тоесть чтобы результат вычислений был сильно больше LDBL_EPSILON).
Re: Численное интегрирование
От: batu Украина  
Дата: 26.05.10 06:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день. Подскажите, пожалуйста, как численно проинтегрировать функцию с ярковыраженным максимумом.

А>А то упираюсь в разрядность, вроде 1Е10 + 10Е-10 = 1Е10.
А>Заранее спасибо.
Можешь разделить на два участка. Но, можно
1. разделить все значения функции на любую константу. После вычисления интеграла, умножь на эту константу.
2. Начинать суммирвание с деления не пополам, а на достаточно большое число частей, что б избежать переполнения разрядной сетки.
Можно применить оба метода
Re[2]: Численное интегрирование
От: dilmah США  
Дата: 26.05.10 07:21
Оценка:
B> 1. разделить все значения функции на любую константу. После вычисления интеграла, умножь на эту константу.

этот метод ввел меня в ступор. Какой в этом смысл? флоаты это флоаты, их основная фича это как раз автоматическое масштабирование и большой диапазон экспоненты.
Re[3]: Численное интегрирование
От: batu Украина  
Дата: 26.05.10 07:34
Оценка:
Здравствуйте, dilmah, Вы писали:

B>> 1. разделить все значения функции на любую константу. После вычисления интеграла, умножь на эту константу.


D>этот метод ввел меня в ступор. Какой в этом смысл? флоаты это флоаты, их основная фича это как раз автоматическое масштабирование и большой диапазон экспоненты.

А ты не комплксуй.. Решай задачу. Может ты не угадал с их основной фичей, или эта фича тебя лично в этой задаче не срабатывает.
Вместе с разбиением на отрезки в а-10n степенью мельче, все получится.
Re[4]: Численное интегрирование
От: dilmah США  
Дата: 26.05.10 08:04
Оценка:
B>А ты не комплксуй.. Решай задачу.

да мне не нужно, я так, мимо проходил.
Re[5]: Численное интегрирование
От: batu Украина  
Дата: 26.05.10 09:01
Оценка:
Здравствуйте, dilmah, Вы писали:


B>>А ты не комплксуй.. Решай задачу.


D>да мне не нужно, я так, мимо проходил.

Ну, так и я тем же самым занимался
Re: Численное интегрирование
От: Аноним  
Дата: 28.05.10 06:27
Оценка:
Всем спасибо. В итоге пришел к делению на куски по признаку величины разряда 8). Просто
думал программистское вмешательство в матем. методы не есть гут. Оказалось, только так
и надо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.