Материал: KTE (1)

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

2.4.3. Обчислення похідних. Диференціальний оператор D

Для створення функцій із похідними можна використовувати спеціальний оператор – диференціальний оператор D. Він дозволяє створювати більш компактні вирази, ніж функція diff. Оператор має два формати запису:

D(f), якщо f – функція одного аргументу; D[i](f), якщо f – функція деяких аргументів;

де f – ім'я функції або її вираз; i – додатне ціле число, вираз або їх послідовність, за якими проводиться диференціювання.

Для того щоб створити похідну, необхідно даним оператором подіяти на певну змінну (змінні). За своїм змістом запис D(f)(x) еквівалентний запису diff(f(x), x).

Приклад 2.11. Знайти похідну функції ех та sin(x):

Приклад 2.12. Знайти частинну похідну функції трьох змінних за кожною змінною:

Як бачимо з останнього рядка прикладу, якщо квадратні дужки залишають пустими, то похідна не шукається.

Для знаходження похідної вищих порядків використовується запис вигляду (D@@n)(f), де n – порядок похідної. Наприклад, два наступні вирази є еквівалентними:

66

Уточнимо різницю між диференціальним оператором D та функцією diff. Оператор D знаходить похідні від операторів, а функція diff – від виразів. Отже, аргументом і результатом D є функціональні оператори, а аргументом і результатом diff є вирази. Поняття функціонального оператора ми розглядали в п. 1.4.2.4. Існує також спеціальна функція unapply, що перетворює вираз на функцію (функціональний оператор):

Приклад 2.13. Перетворення виразу a на функціональний оператор f:

2.4.4. Обчислення інтегралів

У системі Maple можна обчислювати невизначені та визначені інтеграли. Найпростіший спосіб обчислення – використання

шаблонів із палітри команд Expression, а саме

для

невизначених інтегралів та – для визначених. Ці шаблони використовують відповідно команду int(f,x) або int(f, x=a..b). Для режиму 1-D Math Input можна використовувати запис цієї команди з великої літери для візуалізації виразу.

Приклад 2.14. Знайти визначений (на інтервалі –π..π) та невизначений інтеграли від функції tg(x):

Невизначений інтеграл:

Визначений інтеграл:

Знаходження визначеного інтеграла ускладнюється тим, що тангенс має розриви в точках π/2±πn. У подібних випадках потрібно у функції int зазначати опцію 'continuous', що

67

задасть "не шукати точки розриву". У результаті інтеграл буде обчислений:

Якщо Maple не може знайти інтеграл, то необхідно розвинути підінтегральну функцію в ряд (див. п. 2.4.6).

2.4.5. Обчислення сум та добутків послідовностей

Суму послідовності вигляду

n f k f m f m 1 ... f n 1 f n

k m

обчислюють функцією sum(f, k=m..n), де f – вираз членів ряду, сумування відбувається для параметра k, що змінюється від m до n.

Добуток вигляду

n

f k f m f m 1 ... f n 1 f n

k m

обчислюють функцією product(f, k=m..n) .

Обидві функції мають аналоги, що записуються з великої літери, Sum та Product для візуального подання операції. Також вставити дані операції в робочий документ можна через

шаблони команд та палітри Expression.

2.4.6. Розвинення функції в ряд

Задача розвинення функцій у ряд може бути розв’язана декількома засобами Maple.

Широко використовується розвинення в ряд Тейлора, що має вигляд

 

 

 

1 1 f

 

 

1

 

1 2

f

 

 

2

 

 

 

 

 

 

 

 

 

 

f x f x x

 

 

 

 

 

 

 

x x

 

 

 

 

 

 

 

x x

...

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1!

x1

 

x x0

0

 

2!

x2

 

x x0

0

 

 

 

 

 

 

 

 

68

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для розвинення в ряд Тейлора виразу expr за змінною x поблизу точки x = a використовується функція taylor(expr, x=a, n), де n – натуральне число, що визначає порядок розкладання. Якщо n не заданий, то порядок розвинення береться таким, що дорівнює значенню системної змінної Order (за замовчуванням Order = 6). Порядок n означає, що максимальний степінь доданків ряду буде n – 1.

Щоб отримати розвинення в ряд Маклорена вигляду

f x f x 0

1

1 f

 

x1

1 2 f

x2 ... ,

 

 

 

 

 

1! x1

 

2! x2

 

x 0

 

x 0

 

 

 

 

 

 

використовують функцію taylor при x = 0.

Загальною функцією для розкладання в ряд є series(expr, x=a, n). Часто дана функції дозволяє отримати розкладання в ряд, коли функція taylor не спрацьовує, наприклад, якщо вираз має точки розриву:

Цей приклад показує, що, оскільки tgx має розриву точці π/2, функція taylor видає помилку, а series знаходить результат. Крім того, в отриманому ряді доданок вигляду O(x) є залишковим членом.

Розглянемо більш складний випадок розвинення в ряд функції за декількома змінними. Цю задачу розв’язує функція mtaylor (expr, v, n, w). Її аргументами є: expr – вираз, який розвивають; v – список змінних; n – порядок розвинення; w – список натуральних чисел, які визначають вагу кожної змінної при розвиненні. Вага визначає, що доданки ряду зі степенем даної змінної, більшим за n/w, відкидаються.

Приклад 2.15. Порівняємо результати розвинення в ряд функції sin(x + y) при різних значеннях параметра ваги w для змінних x та y:

69

Для деяких специфічних розвинень є власні функції, як, наприклад, asympt(expr, x, n) для асимптотичного розвинення при x → ∞, poisson(expr, x) для розвинення тригонометричних функцій у ряд Фур'є.

Отримане розвинення має тип series. Деякі команди Maple «не розуміють» такого типу даних, тому необхідно ряд перетворювати на інший тип, наприклад на polynom (поліном).

Приклад 2.16. Побудувати графік розвинення в ряд функції sin(x) поблизу точки x = 0.

70