Как посчитать интеграл в maple

REDMOND

Численное интегрирование

Численное интегрирование выполняется с помощью той же самой процедуры, что и вычисление интегралов в символьном виде. Разница состоит в том, что теперь процедура int() (или Int()) сама указывается аргументом процедуры evalf(). При этом имеет место следующее правило. Если используется процедура int(), то сначала предпринимается попытка вычислить интеграл в символьном виде. Если же воспользоваться неактивной формой процедуры, т.е. Int(), то интеграл сразу будет вычисляться в численном виде. Разумеется, речь идет о тех случаях, когда процедуры сами являются параметром процедуры evalf() и для переменной интегрирования задан диапазон изменения. Параметром указанных Процедур может быть и оператор. В этом случае указывается только диапазон изменения переменной — сама переменная не указывается. .Кроме того, в процедурах Into и int() допускается использование необязательных параметров. Эти параметры описаны в табл. 7.6.

Таблица 7.6. Опции процедуры int()

Первостепенное значение имеет метод, с помощью которого вычисляется интеграл. Особенно это справедливо, когда в символьном виде интеграл вычислен быть не может. Возможные значения опции method перечислены в табл. 7.7.

Рассмотрим примеры, в которых интегралы вычисляются разными методами. Для начала вычислим следующий интеграл.

Таблица 7.7. Значения опции method

Если интеграл вычислять адаптивным 30-точечным методом Гаусса, результат получится таким же.

Далее рассмотрим интеграл от функции, имеющей особенность на границе интегрирования.

Внимание!
Явное указание метода интегрирования автоматически означает, что никакие другие методы, в том числе и методы обработки сингулярностей, не используются.

Наконец, с помощью двойного интеграла вычислим площадь круга единичного радиуса.

В Maple 9 воспользоваться приведенной выше командой не удастся из-за переопределения опции для метода Монте-Карло и изменения синтаксиса вызова команд вычисления многократных интегралов. В качестве утешения можно посчитать площадь квадрата.

На заметку
Вычисление интегралов методом Монте-Карло основано на использовании вероятностных оценок. Например, площадь круга могла бы вычисляться так: генератором случайных чисел продуцируются точки на плоскости, попадающие во внутреннюю область квадрата с координатами вершин (1,1), (-1,1), (-1,-1), (1,-1). Затем среди этих точек подсчитывается (в процентном отношении) количество тех, которые попадают во внутреннюю область круга единичного радиуса, вписанного в этот квадрат. При большом количестве точек упомянутое процентное отношение будет одновременно определять отношение площади круга к площади квадрата. Последняя, очевидно, равна 4. Метод достаточно элегантный, но не очень точный.

Вывод, как и в случае численного дифференцирования, состоит в том, что спецификацию метода разумно выполнять только в тех случаях, когда пользователь полностью уверен в правильности своих действий.

Методы решения математических задач в Maple

Данная книга является учебным пособием по дисциплинам "Математика и информатика", "Информационные технологии". Пособие представляет собой практическое руководство по изучению возможностей пакета аналитических вычислений Maple. Подробные теоретические сведения чередуются с практическими заданиями. Последовательное изучение тем и выполнение заданий позволит шаг за шагом освоить основные приемы работы в математической системе Maple. Учебное пособие предназначено для студентов 1 и 2 курсов социально-психологического и естественно-географического факультетов университета, а также для аспирантов и научных работников, использующих математические методы и модели в естественнонаучных исследованиях.

Научный форум dxdy

Просто выдаёт символ интеграла, не считает.
Пробую по-другому:

numeric — чтобы считал численно. Выдаёт очень странный ответ про рекурсию:

Error, (in tools/map) too many levels of recursion

Откуда здесь рекурсия-то?
Пробовал писать numeric у обоих интегралов, всё равно не помогает.
Видел на форуме совет писать так:

REDMOND

То же самое.
Ещё слышал, что для несобственных надо применять опцию continuous. Тоже не считает.
Помогите, что делать?

Последний раз редактировалось Mikhail_K 11.04.2014, 18:53, всего редактировалось 1 раз.

Внутренний тоже несобственный. Когда $y=0$. И при этом значении $y$он превращается в $\int_<-1>^1\frac<\sin 2><|x|>\,dx$. Сходится?

Последний раз редактировалось Mikhail_K 11.04.2014, 19:53, всего редактировалось 1 раз.

Это Вы знаете, это я знаю. Вопрос: знает ли это машина? Иными словами, не получается ли, что утыкаясь в неприличное поведение интеграла при одном значении $y$, она просто не знает, что с этим делать? Какой заложен алгоритм вычисления?

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

А от $\frac<1><(x^4+y^4)^<1/3>>$ что получается?

Последний раз редактировалось GAA 13.04.2014, 06:38, всего редактировалось 9 раз(а).

Увы, возникает подозрение, что метод _MonteCarlo не обеспечил заявленную погрешность вычислений. Хоть и не сильно.

Mikhail_K
Фичи и баги Maple — это необозримая тема. Я так и не понял, что планируется обсуждать в данной ветке.

— Sat 12.04.2014 07:46:44 —

Документация Online по numeric integration Maple 17.

— Соединены подряд идущие сообщения c перерывом три с половиной часа —

На самом деле, как оказалось, несобственные интегралы в Maple можно считать очень просто.
Именно, вместо

Последний раз редактировалось Mikhail_K 12.04.2014, 16:59, всего редактировалось 2 раз(а).

Не работает. Долго думает, затем выдаёт ошибку.
Если подынтегральная функция непрерывна, такая команда работает, считает мгновенно. А вот уходящие на бесконечность функции Maple, видать, не любит.
Одномерные несобственные интегралы считает, а вот такие кратные несобственные — нет.
Только не соглашусь, что это изврат. Maple умеет считать собственные интегралы. Вычисление несобственного интеграла сводится к вычислению собственных по определению.

А с методом Монте-Карло перестаёт работать при требовании большой точности. Здесь же — какая угодно точность. И скорость великолепная.

Последний раз редактировалось GAA 12.04.2014, 17:55, всего редактировалось 3 раз(а).

На всякий случай добавлю: вызов
int&#40;sin&#40;x*y+2&#41;/sqrt&#40;x^2+y^2&#41;,[x=-1..1,y=-1..1] ,numeric &#41;;
эквивалентен (по справке) вызову
int&#40;int&#40;sin&#40;x*y+2&#41;/sqrt&#40;x^2+y^2&#41;,x=-1..1&#41;,y=-1..1&#41;;
(Более того, раньше первого варианта записи двойного интеграла не было и следовало двойной интеграл задавать только в виде повторного. Так было еще в Maple 7. Точно с какой версии появился первый тип записи я не скажу. Но в 12 версии он точно есть.)

Об "изврате". Стандартный подход: заменяем несобственный интеграл собственным + малая добавка. В данном случае выбрасываем полосу, в которой находится особая точка. Разве не этому учат студентов в курсе «Высшей математики» или «Численных методов»? Недостатком этого подхода является необходимость оценить ширину полосы, которую выбрасываем. И с увеличением точности вычисления интеграла eps следует пересчитывать.
Преимуществом перехода в полярную систему координат будет большая скорость вычислений. Однако, если нам точность не важна и например 10 знаков достаточно, то эти тонкости не имеют значения.

Maple некоторые кратные несобственные интегралы вычисляет, некоторые нет. Заранее не угадаешь. Каждый раз приходиться разбираться индивидуально.

Редактирование: numeric лишний, зачеркнул.

$\frac<1><(x^4+y^4)^<1/3>>$

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *