Чтение онлайн

на главную

Жанры

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

10.6.2. Вычисление интеграла по известной формуле

Рассмотрим следующий пример (файл р9):

> Int(e^x*x^n,x)=int(e^x*x^n,x);

∫exxndх = -(-1)(-n)ln(e)(-1-n)n(-1)nln(е)nnГ(n)(-х ln(е))(-n) – хn(-1)n ln(е)n е(хln(e))
хn(-1)nln(е)nn(-х ln(е))(-n)Г(n, -x ln(е)))

Ранние версии системы Maple не брали этот интеграл, поскольку он не имеет аналитического представления через обычные функции. Maple блестяще вычисляет этот «крепкий орешек», но полученное выражение довольно сложно.

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

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

> IntExpMonomial:=proc(n::anything,х::name)

local i;

n!*exp(x)*sum(((-1)^(n-i)*х^i)/i!,i=0..n);

end;

 IntExpMonomial := proc(n::anything, x::name)

 local i;

n! × exp(x) × sum((-1)^(n-i) × x^i/i!,i=-..n)

 end proc

Проверим ее в работе:

> IntExpMonomial(3,х);

> IntExpMonomial(5,x);

> IntExpMonomial(n, x);

Результат в аналитическом виде довольно прост для данного интеграла с конкретным значением n. Более того, мы получили несколько иной результат и для n в общем случае. Но точен ли он? Для ответа на этот вопрос продифференцируем полученное выражение:

> diff(%,х);

Результат дифференцирования выглядит куда сложнее, чем вычисленный интеграл. Однако с помощью функции simplify в Maple 9 он упрощается к подынтегральной функции:

> simplify(%);

еx хn

Maple 9.5 выдал более замысловатое выражение:

(-1)n еx (-x)n

Это говорит о том, что задача вычисления заданного интеграла в аналитической форме действительно решена. А что касается громоздкости результатов, так ведь системы, подобные Maple, для того и созданы, чтобы облегчить нам работу с громоздкими вычислениями — в том числе аналитическими.

10.6.3. Вложенные процедуры и интегрирование по частям

Теперь мы подошли к важному моменту, о котором читатель наверняка уже давно догадался — в составляемых пользователям процедурах можно использовать ранее составленные им (или кем-то еще) другие процедуры! Таким образом, Maple-язык позволяет реализовать процедуры, вложенные друг в друга.

Для иллюстрации применения вложенных процедур рассмотрим операцию интегрирования по частям. Пусть нам надо вычислить интеграл

∫ p(x)exdx,

где р(х) — выражение, представляющее полином.

Вначале подготовим процедуру IntExpMonomialR, реализующую вычисление уже рассмотренного ранее интеграла, но рекурсивным способом (файл р9):

> IntExpMonomialR:=proc(n::nonnegint,х::name)

local i;

if n=0 then RETURN(exp(x)) fi;

х^n*ехр(x)-n*IntExpMonomialR(n-1, x);

end;

 IntExpMonomialR: = proc(n::nonneg int, x::name)

 local i;

if n = 0 then RETURN(exp(x)) end if;

x^n × exp(x) -n × IntExpMonomialR(n - 1, x)

 end proc

Проверим ее в работе:

> IntExpMonomialR(4, х);

x4еx– 4x3еx + 12x2ex– 24хеx + 24 еx

> collect(%,exp(х));

4– 4х3 + 12x2– 24x + 24) еx

Теперь составим процедуру для вычисления по частям нашего интеграла:

> IntExpPolynomial:=proc(р::polynom,x::name) local i, result;

### WARNING: degree(0,x) now returns -infinity

result:=add(coeff(p,x,i)*IntExpMonomialR(i,x),i=0..degree(p, x));

collect(result,exp(x));

end;

 IntExpPolynomial: = proc(p::polynom, x::name)

 local i, result;

result:= add(coeff(p, x, i) × IntExpMonomialR(i, x), i = 0..degree(p, x)); collect(result, exp(x))

Поделиться:
Популярные книги

Я – Орк. Том 2

Лисицин Евгений
2. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 2

Релокант

Ascold Flow
1. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант

Хозяйка старой усадьбы

Скор Элен
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Хозяйка старой усадьбы

Восход. Солнцев. Книга VII

Скабер Артемий
7. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга VII

Вечный. Книга III

Рокотов Алексей
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга III

Пистоль и шпага

Дроздов Анатолий Федорович
2. Штуцер и тесак
Фантастика:
альтернативная история
8.28
рейтинг книги
Пистоль и шпага

Калибр Личности 1

Голд Джон
1. Калибр Личности
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Калибр Личности 1

Король Руси

Ланцов Михаил Алексеевич
2. Иван Московский
Фантастика:
альтернативная история
6.25
рейтинг книги
Король Руси

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Правила Барби

Аллен Селина
4. Элита Нью-Йорка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Правила Барби

Мимик!

Северный Лис
1. Сбой Системы!
Фантастика:
боевая фантастика
5.40
рейтинг книги
Мимик!

Книга пяти колец. Том 3

Зайцев Константин
3. Книга пяти колец
Фантастика:
фэнтези
попаданцы
аниме
5.75
рейтинг книги
Книга пяти колец. Том 3

Защитник. Второй пояс

Игнатов Михаил Павлович
10. Путь
Фантастика:
фэнтези
5.25
рейтинг книги
Защитник. Второй пояс

Золушка по имени Грейс

Ром Полина
Фантастика:
фэнтези
8.63
рейтинг книги
Золушка по имени Грейс