- •С.Н. Стребуляев, д.Ю. Васин
- •Оглавление
- •Введение
- •1. Основные пакеты, операторы и функции системы аналитических вычислений maple
- •1.1. Пакеты функций
- •1.2. Способы задания функций и построение их графиков
- •1.3. Вычисление пределов
- •1.4. Вычисление производных
- •1.5. Вычисление интегралов
- •1.6. Операции с рядами
- •1.7. Решение уравнений, неравенств и их систем
- •1.8. Анализ функций
- •Решение дифференциальных уравнений второго порядка:
- •Численное решение системы дифференциальных уравнений:
- •Решение системы двух дифференциальных уравнений с выводом фазового портрета решения:
- •Фазовый портрет;
- •Решение;
- •Система уравнений Ван дер Поля при аппроксимации характеристики лампы полиномом 3 степени
- •Получаем укороченные уравнения Ван дер Поля
- •Операции с векторами:
- •Способы задания матриц:
- •Операции над матрицами:
- •1.11. Преобразование комплексных чисел, аналитических выражений и функций комплексного переменного
- •Функции комплексного переменного:
- •Работа с комплексными функциями
- •Начальные условия:
- •Конкретные значения параметров системы указаны в вариантах контрольных заданий.
- •Нерезонансные случаи
- •Греческий алфавит
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);