Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Maple, Стребуляев.doc
Скачиваний:
119
Добавлен:
27.03.2015
Размер:
3.96 Mб
Скачать

1.5. Вычисление интегралов

Вычисление неопределенного и определенного интегралов — одна из самых распространенных операций математического анализа. Для вычисления этих интегралов предоставляются следующие функции:

int(f,x), int(f,x = a..b), int(f,x = a..b,c),

где f— подынтегральная функция,x— переменная интегрирования,a,b— нижний и верхний пределы интегрирования,c— необязательное дополнительное условие. Ниже приведены примеры использования этих функций для вычисления различных интегралов.

Вычисление неопределенных интегралов:

> restart:

> Int(exp(alpha*x)*cos(b*x),x)=int(exp(alpha*x)*cos(b*x),x);

> collect(%,exp); # Выносим за скобку exp(x);

> Seq:=f(x),x; # переменной Seq в качестве значения присвоим последовательности из двух элементов -- результата действия оператора f() на переменную x и самой переменной x;

> Int(Seq)=int(Seq);

Нахождение интегралов разрывных функций:

> restart: with(plots):

Warning, the name changecoords has been redefined

> f:=(x)->piecewise(x<0,1,x<=1,x+1,2*x);

> f(x);

> F:=x->int(f(x),x);

> F(x);

  • plot([f(x),F(x)],x=-1..2,color=[RED,NAVY],linestyle=[DOT,SOLID],thickness=2,title="КУСОЧНО-ГЛАДКАЯ ФУНКЦИЯ \n И ИНТЕГРАЛ ОТ НЕЕ",titlefont=[TIMES,BOLD,9],legend=["ФУНКЦИЯ","ИНТЕГРАЛ"]);

Вычисление определенных интегралов:

> restart:

> Int(x^2*cos(x),x=0..2*Pi)=int(x^2*cos(x),x=0..2*Pi);

> Int(1/((x^3+x^2+2*x+2)^2),x=0..1)=int(1/((x^3+x^2+2*x+2)^2),x=0..1); evalf(%);

> # Интеграл с параметром;

> s:=m->int(sin(x)^m,x=0..Pi/2);

> assume(m::integer>0); # Полагаем m>0 -целое;

> s(m); # Г(x) - гамма-функция Эйлера;

Вычисление несобственных интегралов:

> restart: with(plots):

> y:=(x)->(x*ln(x))/(1+x^2)^2;

> Int(y(x),x=0..infinity)=int(y(x),x=0..infinity);

> evalf(%);

  • plot(y(x),x=0..infinity,title="ГРАФИК ФУНКЦИИ y(x)",titlefont=[HELVETICA,BOLD,10],thickness=3);

> Int(1/(x^2+1)^2,x=-infinity..infinity)=int(1/(x^2+1)^2,x=-infinity..infinity);

Вычисление двойных интегралов:

> restart: with(student):

> Doubleint(x*y^2,y=x^2..x,x=0..1); # Внимание !! Порядок задания пределов интегрирования именно такой;

> value(%);

> Int(Int(x*y*(x+y),y=0..x^3),x=0..2)=int(int(x*y*(x+y),y=0..x^3),x=0..2);

> Int(Int(1/(x^2+y^2+5)^2,y=0..infinity),x=0..infinity);

> value(%);

Вычисление двойных интегралов путем перехода к полярным координатам:

> restart: with(student):

> A:=Doubleint(sqrt(x^2+y^2),x,y,Omega);

> # При переходе к полярным используем r и phi;

> assume(r>0); # полагаем r>o;

> changevar({x=r*cos(phi),y=r*sin(phi)},A,[r,phi]);# заменяем переменные;

> # задаем область Omega;

> Omega:=x^2+y^2<=a^2; x:=r*cos(phi);y:=r*sin(phi); Omega;#Область Omega в полярных координатах;

> simplify(%);

> Int(Int(r^2,r=0..a),phi=0..2*Pi); value(%);

Вычисление тройных интегралов:

> restart: with(student): with(plots):

> Tripleint(x*y^2*z^3,x,y,z,V);

> # Интеграл ограничен поверхностями z=xy,y=x,x=1,z=0;

> plot3d(x*y,x=0..1,y=0..1-x,axes=boxed);

> Tripleint(x*y^2*z^3,z=0..x*y,y=0..x,x=0..1); value(%);

> Int(Int(Int(exp(-x^2-y^2-z^2),x=-infinity..infinity),y=-infinity..infinity),z=-infinity..infinity)=int(int(int(exp(-x^2-y^2-z^2),x=-infinity..infinity),y=-infinity..infinity),z=-infinity..infinity);

> a(x,y,z):=1/(1+x+y+z)^(7/2);

Вычисление тройных интегралов через цилиндрические координаты:

> restart: with(student): with(plots):

> Tripleint(sqrt(x^2+y^2),x,y,z,V);

  • implicitplot3d(x^2+y^2=z^2,x=-1..1,y=-1..1,z=0..1,grid=[15,15,15],axes=boxed);# Область V;

> # implicitplot3d -используется для отображения заданных в неявном виде поверхностей, а опция grid задает число базовых точек по которым строится поверхность (по умолчанию rid=[10,10,10];

> Tripleint(sqrt(x^2+y^2),x,y,z,V)=Int(Int(Int(sqrt(x^2+y^2),x=-sqrt(z^2-y^2)..sqrt(z^2-y^2)),y=-z..z),z=0..1);

> changevar({x=r*cos(phi),y=r*sin(phi)},Ihs(%),[r,phi,z]);

> # Определяем границу области интегрирования;

> x:=r*cos(phi);

> y:=r*sin(phi);

> x^2+y^2=z^2;

> simplify(%);

> # Вычиcляем интеграл;

> Int(Int(Int(r^2,r=0..z),phi=0..2*Pi),z=0..1):= int(int(int(r^2,r=0..z),phi=0..2*Pi),z=0..1);