Как определенные, так и
неопределенные интегралы в программе Maple вычисляются
при помощи команды int (параметр1, параметр2).
Аналитическое интегрирование
Сначала рассмотрим неопределенное
интегрирование. В этом случае первым параметром
аргумента команды int является интегрируемое
выражение, а вторым - переменная интегрирования.
Результат интегрирования (если он найден)
выводится без стандартной константы
интегрирования. Этим достигается возможность
многократного использования результата в
дальнейших вычислениях. Если int не находит
интеграла, команда возвращается невыполненной.
Далее - некоторые примеры неопределенных
интегралов.
> int(2*x*exp(x^2),x);
В определенных интегралах ко второму
параметру команды int добавляются пределы
интегрирования.
> restart;
> int(sin(a*x)^2/(x^2),x=0..infinity);
Рассмотрим еще один интеграл
> int(log(x)^a,x=0..1);
Maple уточняет знак величины 1+a.
Предположим, что а> -1:
> assume(a<-1);int(log(x)^a,x=0..1);
Теперь все в порядке. Вообще, команда assume
во многих случаях позволяет не только найти
значение интеграла, не имеющего в общем случае
первообразной, но и значительно упростить
полученное выражение, как, например, в следующем
примере
> restart;int(1/(x^2+a^2)/(x^2+b^2),x=0..infinity);
Теперь введем предположения
относительно параметров
> assume(a>0,b>0);
int(1/(x^2+a^2)/(x^2+b^2),x=0..infinity);
> int( 1/(x-1)^2, x=0..2,continuous);
Опция continuous , добавленная в качестве
четвертого аргумента команды Int вынуждает Maple
игнорировать любые возможные разрывы
подинтегральной функции в диапазоне
интегрирования.
В отличие от команды diff, простым
добавлением переменных интегрирования в команду
int невозможно задать многократное
интегрирование. С этой целью интеграл по одной из
переменных включается в качестве первого
параметра в аргумент интеграла по другой
переменной:
> int ( int ( x^2 * y^3, x ), y);
> int ( int ( int ( x^2 *y^2* z^2,
x=1 ..2 ), y=1 ..2 ), z=1 ..2 );
В следующем примере интеграл выражается
через полный эллиптический интеграл первого
рода EllipticK , для упрощения
сложных радикалов применяется команда radnormal .
> Int( 1/sqrt( sin(x) ), x=0..Pi/2 )=
int( 1/sqrt( sin(x) ), x=0..Pi/2 ):radnormal(%);
Численное интегрирование
Для выполнения численного
интегрирования используется команда evalf.
> int (1/(exp (x^2)+x), x=0..1);
> evalf ( int ( 1/ ( exp (x^2)+x),
x=0 ..1 ));
В следующем примере при помощи команды evalf
(int,20) находим приближенное значение интеграла с
точностью 20 значащих цифр.
> Int( exp(v-v^2/2)/(1+1/2*exp(v)), v
= -infinity..infinity );
> evalf(%, 20);
|