Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lection6 Maple_3.doc
Скачиваний:
42
Добавлен:
17.12.2018
Размер:
753.15 Кб
Скачать

22

ВВЕДЕНИЕ

В МАТЕМАТИЧЕСКИЕ ВЫЧИСЛЕНИЯ

В СИСТЕМЕ MAPLE

(часть 3)

Тема 7. Интегрирование в системе Maple

Аналитическое и численное интегрирование

Неопределенный интеграл вычисляется с помощью 2-х команд:

  1. прямого исполнения – int(f,x), где f – подынтегральная функция, x – переменная интегрирования;

  2. отложенного исполнения – Int(f,x) – где параметры команды такие же, как и в команде прямого исполнения int. Команда Int выдает на экран интеграл в аналитическом виде математической формулы.

Для вычисления определенного интеграла в командах int и Int добавляются нижний и верхний пределы интегрирования.

Пример:

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

Если в команде интегрирования добавить опцию continuous: int(f,x,continuous), то Maple будет игнорировать любые возможные разрывы подынтегральной функции в диапазоне интегрирования. Это позволяет вычислять несобственные интегралы от неограниченных функций. Несобственные интегралы с бесконечными пределами интегрирования вычисляются, если в параметрах команды int указывать, например, x=0..+infinity.

Численное интегрирование выполняется командой evalf(int(f,x=x1..x2), eps), где eps – точность вычислений (число знаков после запятой).

Интегралы, зависящие от параметра. Ограничения для параметров

Если требуется вычислить интеграл, зависящий от параметра, то его значение может зависеть от знака этого параметра или каких-либо других ограничений. Рассмотрим в качестве примера интеграл , который, как известно из математического анализа, сходится при а>0 и расходится при а<0. Если вычислять его сразу непосредственно, то получим следующее:

> Int(exp(-a*x),x=0..+infinity)=int(exp(-a*x),x=0..+infinity);

Видно, что таким способом интеграл с параметром сразу в явной форме не вычислить (ответ представлен в виде предела). Для получения явного аналитического результата вычислений следует сделать какие-либо предположения о значении параметров, т.е. наложить на них ограничения.

Это можно сделать при помощи команды assume(expr1), где expr1 – неравенство. Дополнительные ограничения вводятся с помощью команды additionally(expr2), где expr2 – другое неравенство, ограничивающее значение параметра с другой стороны.

После наложения ограничений на параметр система Maple добавляет к его имени символ «~», например параметр a, на который были наложены некоторые ограничения, в строке вывода будет иметь вид: a~.

Описание наложенных ограничений параметра a можно вызвать командой about(a). Например, требуется наложить ограничения на параметр a такие, что a>-1, a3:

> assume(a>-1); additionally(a<=3); about(a);

Originally a, renamed a~:

is assumed to be: RealRange(Open(-1),3)

Вернемся к вычислению интеграла с параметром , которое правильно следует производить в следующем порядке:

> assume(a>0);

> Int(exp(-a*x),x=0..+infinity)=int(exp(-a*x),x=0..+infinity);

Обучение основным методам интегрирования

В системе Maple имеется пакет student, предназначенный для обучения студентов математике. Он содержит набор подпрограмм, предназначенных для выполнения расчетов шаг за шагом, так, чтобы была понятна последовательность действий, приводящих к результату. К таким командам относятся интегрирование по частям inparts и замена переменной changevar.

Перед использованием описанных здесь команд необходимо обязательно загрузить пакет student командой with(student).

> with(student);

Напомним формулу интегрирования по частям:

Если обозначить подынтегральную функцию , то параметры команды интегрирования по частям будут такими, как показано в следующем примере:

> intparts(Int(sin(x)*x^2,x),x^2);

где, т.е. здесь принято, что.

Обе команды intparts и changevar (об этой команде немного далее) не вычисляют окончательно неопределенный интеграл, а лишь производят промежуточную выкладку.

Для того, чтобы получить окончательный ответ, следует, после выполнения этих команд ввести команду value(%), где знак % обозначает подстановку результата предыдущей строки.

> value(%);

Если в интеграле требуется сделать замену переменных x=g(t) или t=h(x), то параметры команды замены переменных следующие:

> changevar(x^2=t,Int(x^8,x),t);

где t новая переменная и t=x2.

> value(%);

Примеры

1. Найти неопределенные интегралы (первообразные):

а) ;

б) .

> Int(cos(x)*cos(2*x)*cos(3*x),x)=int(cos(x)*cos(2*x)*cos(3*x), x);

> Int((3*x^4+4)/(x^2*(x^2+1)^3),x)=int((3*x^4+4)/(x^2*(x^2+1)^3),x);

2. Найти определенный интеграл при условии, что параметры a>0, b>0.

> assume(a>0); assume(b>0);

Int(sin(x)*cos(x)/(a*cos(x)^2+b*sin(x)^2),x=0..Pi/2)=

int(sin(x)*cos(x)/(a^2*cos(x)^2+b^2*sin(x)^2),x=0..Pi/2);

3. Найти несобственный интеграл при условии, что параметр a>-1.

> restart; assume(a>-1);

> Int((1-exp(-a*x^2))/(x*exp(x^2)),x=0..+infinity)=

int((1-exp(-a*x^2))/(x*exp(x^2)),x=0..+infinity);

(Здесь нами использована команда restart для того, чтобы полностью очистить внутреннее ядро системы Maple от всех ранее уже использованных переменных и выражений и, тем самым, фактически начать работать заново)

4. Численно найти определенный интеграл .

> Int(cos(x)/x,x=Pi/6..Pi/4)=evalf(int(cos(x)/x,x=Pi/6..Pi/4),15);

(В этом примере значение интеграла будет выведено на экран с 15 знаками после запятой)

5. Полностью проделать все этапы вычисления интеграла по частям.

> restart; J=Int(x^3*sin(x),x);

> with(student): J=intparts(Int(x^3*sin(x),x),x^3);

> intparts(%,x^2);

> intparts(%,x);

> value(%);

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

> J=Int(1/(1+cos(x)),x=-Pi/2..Pi/2);

> J=changevar(tan(x/2)=t,Int(1/(1+cos(x)),x=-Pi/2..Pi/2),t);

> value(%);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]