* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
1062
Программирование в системах компьютерной алгебры
> to 6 do x0:=SI(x0) od;
x0 := .9137633858 x0 := .7446642419 x0 := .7390919660 x0 := .7390851333 x0 := .7390851332 x0 := .7390851332 Вообще говоря, в программных процедурах можно использовать любые опера торы и функции, присущие Maple языку, в том числе и те, которые реализуют символьные вычисления. Это открывает широкий простор для разработки новых процедур и функций, обеспечивающих выполнение символьных операций. Рассмотрим следующий пример на вычисление интеграла по известной фор муле:
> Int(e^x*x^n,x)=int(e^x*x^n,x);
Ранние версии системы Maple не брали этот интеграл. Maple, начиная с версии Maple 7, вычисляет этот «крепкий орешек», но полученное выражение довольно сложно. Из математики известно, что такой интеграл может быть представлен в сле дующем виде:
Используя эту формулу, мы можем создать простую процедуру для численно го и аналитического вычисления данного интеграла:
> IntExpMonomial:=proc(n::anything,x::name) local i; n!*exp(x)*sum(((-1)^(n-i)*x^i)/i!,i=0..n); end;
IntExpMonomail := proc(n::anything; x::name) local i; n!?exp(x)?sum(( 1)^(n – i)?x^i*i!, i = 0 .. n) end proc Проверим ее в работе:
> IntExpMonomial(3,x);
> IntExpMonomial(5,x);