Численное интегрирование и дифференцирование функций
Неопределенные интегралы в Maple вычисляются с помощью функций.
Int (<функция>, <переменная>) или int (<функция>, <переменная>)
Int выводит сам интеграл, a int - первообразную интегрирования.
Для вычисления определенных интегралов используют команды
Int (<функция>, <переменная>=а..b) или int(<функция>, <переменная>=а..b),
где a..b - пределы интегрирования.
Пример:
x:=3:
Int((1-x^2)^(1/2),х=-1..-1/2);
int((1-x^2)^(1/2),х=-1..-1/2);
evalf(%);
Вычисление несобственных интегралов также не вызывает затруднений. Примеры сходящегося и расходящегося интегралов приведены ниже.
Здесь стоит напомнить, что запись infinity обозначает бесконечность.
restart;
Int(1/(1+x^2),х=0..infinity)=int(1/(1+х^2),х=0..infinity);
Int(ln(x)/x,х=2..infinity)=int(ln(x)/x,х=2..infinity);
Данный пример содержит текст функции, созданной средствами программирования Maple, для вычисления значения
определенного интеграла методом трапеций.
#Метод трапеций
in4:=proc(a,b,n)
local j,h;global S;
h:=(b-a)/n;
S:=0;
for j from 1 to n-1 do
S:=S+f(a+h*j);
od;
S:=h*((f(a)+f(b))/2+S);
evalf(S);
end:
Вычисление интеграла методом Симпсона.
restart;
#Мeтод Симпсона
in5:=proc(a,b,n)
local j,h,p;
global S;
h:=(b-a)/n;
S:=0;
p:=4;
for j from 1 to n-1 do
S:=S=f(a+h*j)*p;
p:=6-p;
od;
S:=h/3*(f(a)+f(b)+S);
evalf(S);
end:
Для вычисления производной в Maple имеются следующие функции:
Diff (<выражение>, <переменная1 >, [ <переменная2 >,..., <переменнаяЫ> ])
или
diff (<выражение>,<переменная1 >, [<переменная2>,...,<переменнаяЫ>])
Здесь <выражение> - дифференцируемое алгебраическое выражение или функция ряда переменных, <переменная1>...
- список переменных, по которым проводится дифференцирование. Различие между функциями Di f f и di f f - первая
представляет выражение в естественной математической форме, а вторая непосредственно вычисляет производную.
Вычислить значение производной в точке можно, применив функцию подстановки
subs (< выражение1 >=< выражение2 >, < выражениеЗ >)
которая в математическом выражении < выражениеЗ > заменяет < выражение 1> на <выражение2>. В частности,
<выражение2> может быть числом.
#Вычисление значения производной в точке
pr:=diff((3*x^2+7)/(2*x+1),x):
subs(x=2,pr);
evalf(%);
diff(ln(cos(x)),x$2);
diff(tan(x),x$4);