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

на главную

Жанры

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))

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

Черный Маг Императора 13

Герда Александр
13. Черный маг императора
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 13

Последняя Арена 4

Греков Сергей
4. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 4

Маяк надежды

Кас Маркус
5. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Маяк надежды

Великий перелом

Ланцов Михаил Алексеевич
2. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Великий перелом

Сопротивляйся мне

Вечная Ольга
3. Порочная власть
Любовные романы:
современные любовные романы
эро литература
6.00
рейтинг книги
Сопротивляйся мне

Инквизитор Тьмы 2

Шмаков Алексей Семенович
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы 2

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Гардемарин Ее Величества. Инкарнация

Уленгов Юрий
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация

Падение Твердыни

Распопов Дмитрий Викторович
6. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Падение Твердыни

"Дальние горизонты. Дух". Компиляция. Книги 1-25

Усманов Хайдарали
Собрание сочинений
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Дальние горизонты. Дух. Компиляция. Книги 1-25

Ох уж этот Мин Джин Хо 2

Кронос Александр
2. Мин Джин Хо
Фантастика:
попаданцы
5.00
рейтинг книги
Ох уж этот Мин Джин Хо 2

Энфис 6

Кронос Александр
6. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 6