Точность численного интегрирования в Matlab

Я пытаюсь интегрировать аналитическую функцию (составную функцию sqrt и trig) в области прямоугольника. У него нет точки сингулярности в этом районе, и он кажется идеальным кандидатом на использование dblquad. Мой вопрос заключается в том, как оценить точность числового значения, которое мне предоставил Matlab. Не зная точного значения интегрирования, как мы можем оправдать значащие цифры? Когда от вас требуется указать значение с точностью до определенного разряда, вы должны быть в состоянии обосновать это. Можно ли добиться этого, если значение рассчитывается с помощью Matlab?


person user2388628    schedule 16.05.2013    source источник


Ответы (2)


Если не указано иное, dblquad использует порог допуска по умолчанию (10-6 в последних версиях) для абсолютной квадратурной ошибки. Аппроксимация интеграла будет в пределах погрешности, не превышающей заданный допуск.

person Eitan T    schedule 16.05.2013

Вы можете взглянуть на исходный код для dblquad, где-то он будет использовать определенное количество «шагов». Я думаю, вы могли бы создать новый m-файл с важными битами, которые заставят интеграл работать, и поиграть с количеством шагов, пока это не займет много времени у компьютера и не изменит результат. Лично я использую пользовательское правило Симпсонов для численного интегрирования и просто меняю N (количество шагов) на какое-то большое число.

person Steve Hatcher    schedule 16.05.2013