Практическая информатика

    

Операции математического анализа


Maxima может вычислять производные и интегралы, раскладывать функции в ряды Тейлора, вычислять пределы и находить точные решения обыкновенных дифференциальных уравнений.

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

(C1) f:(x-2*sqrt(x))/x^2; x - 2 SQRT(x) (D1) ------------- 2 x

(C2) diff(f, x); 1 1 - ------- SQRT(x) 2 (x - 2 SQRT(x)) (D2) ----------- - ----------------- 2 3 x x

(C3) expand("c2); 3 1 (D3) ---- - -- 5/2 2 x x

(C4) g:x^6; 6 (D4) x

(C5) diff(g, x, 1); 5 (D5) 6 x

(C6) diff(g, x, 4); 2 (D6) 360 x

При вычислении кратных производных по нескольким переменным после указания функции перечисляются переменные дифференцирования с указанием соответствующих кратностей, например,

(C7) diff(x^6*y^3, x, 4, y, 2); 2 (D7) 2160 x y

Функция integrate позволяет вычислять интегралы. Для нахождения неопределенного интеграла после функции указывается единственный аргумент - переменная интегрирования:

(C8) f:x^2/(4*x^6+1); 2 x (D8) -------- 6 4 x + 1

(C9) integrate(f, x); 3 ATAN(2 x ) (D9) ---------- 6

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

(C10) integrate(x^n,x); Is n + 1 zero or nonzero? nonzero; n + 1 x (D10) ------ n + 1 (C11) integrate(x^n,x); Is n + 1 zero or nonzero? zero; (D11) LOG(x)

Можно использовать функцию assume для задания дополнительных условий (не забывайте затем удалить наложенные ограничения):

(C12) assume(notequal(n,-1)); (D12) [NOT EQUAL(n, - 1)] (C13) integrate(x^n,x); n + 1 x (D13) ------ n + 1 (C14) forget(notequal(n,-1)); (D14) [NOT EQUAL(n, - 1)] (C15) integrate(x^n,x); Is n + 1 zero or nonzero?

zero; (D15) LOG(x)

Для нахождения определенного интеграла следует указать дополнительные агрументы - пределы интегрирования:

(C16) integrate(x^2, x, 0, 6); (D16) 72



(C17) integrate(sin(x), x, 0, %PI); (D17) 2


(C18) integrate(integrate(x*y, x, 1, 3), y, 0, 4); (D18) 32

Maxima допускает задание и бесконечных пределов интегрирования. Для обозначения бесконечности используется переменная INF (inf):

(C19) integrate(1/x^2, x, 1, inf); (D19) 1

(C20) integrate(1/(1+x^2), x, -inf, inf); (D20) %PI

(C21) integrate(1/x, x, 0, inf);

Integral is divergent - an error. Quitting. To debug this try DEBUGMODE(TRUE);)

В последнем примере система сообщила о невозможности вычисления интеграла, т. к. он расходится (is divergent).

При вычислении достаточно сложных интегралов ответ не всегда будет представлен в наиболее простом виде. В следующем примере Maxima не может в символьном виде получить ответ, равный PI/4:

C22) g:1/sqrt(2-x^2); 1 (D22) ------------ 2 SQRT(2 - x )

(C23) integrate(g,x, 0,1);

SQRT(2) (D23) ASIN(-------) 2

Для вычисления конечных и бесконечных сумм следует записать сумму в символьном виде, после чего упростить полученное выражение:

(C24) sum(1/n^2,n,1,inf); INF ==== \ 1 (D24) > -- / 2 ==== n n = 1 (C25) %,simpsum; 2 %PI (D25) ---- 6

Maxima способна находить разложение функций в ряд Тейлора. Получим многочлен Тейлора порядка 4 для функции f(x)=ln x в точке x=1:

(C26) g:log(x); (D26) LOG(x) (C27) taylor(g,x,1,4); 2 3 4 (x - 1) (x - 1) (x - 1) (D27)/T/ x - 1 - -------- + -------- - -------- + ... 2 3 4

Для вычисления пределов используется функция limit:

(C28) limit(1/x,x,inf); (D28) 0

Для вычисления односторонних пределов используется дополнительный параметр, принимающий значение plus для вычисления предела справа и minus - слева.

Пример

Исследуем на непрерывность функцию arctg(1/(x-4)). Эта функция не определена в точке x = 4. Вычислим пределы справа и слева:

(C28) limit(atan(1/(x-4)), x, 4, plus); %PI (D28) --- 2 (C29) limit(atan(1/(x-4)), x, 4, minus); %PI (D29) - --- 2

Как видим, точка x = 4 является точкой разрыва I рода для данной функции, так как существуют пределы слева и справа, равные -PI/2 и PI/2 соответственно.

Задания

  1. Вычислите первую производную функции tg2(x4 - 2)
  2. Найдите предел при x -> 0 функции (3x - sin x)/tg 2x
  3. Найдите одну из первообразных функции cos2 x



Содержание раздела