Математический анализ в Maple 9



Производные высших порядков

Достаточно просто вычисляются и производные высших порядков. Для этого используется все та же процедура diff(). Синтаксис вызова этой процедуры для вычисления производных высших порядков описывается ниже в примерах.

Задача 2.12

Найти у"(х) и у"(х), если y(x) = f(x2).

Для отыскания второй производной можно дважды вызвать процедуру diff (), как показано ниже.

В области вывода оператор D(f) означает производную от функции f() по аргументу, а число в скобках вверху у оператора D определяет порядок такой производной.

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

На заметку
Таким образом, если после переменной дифференцирования указать оператор $ и целое неотрицательное число, то это число будет определять порядок производной. Подобный подход весьма удобен в тех случаях, когда порядок производной достаточно велик. Поскольку результатом выполнения операции х$3 является последовательность х, х, х, то допустимо вместо $3, например, сразу писать х,х,х — результат от этого не изменится.

Задача 2.13

Найти 100-ю производную функции y(x) = xsh(x).

Опишем дифференцируемую функцию.

После этого ее можно продифференцировать нужное количество раз.

Ситуация несколько усложняется, если функция задана в параметрическом f виде. Как поступать в этих случаях, показано в следующем примере.

Задача 2.14

Найти y(x), если x(t) = 2t-t2 и y(i) = 3t-t3.

Вначале определим параметрические зависимости для х и у (т.е. объявим эти переменные как функции одного параметра).

Теперь определим процедуру paramdiff() (точнее, оператор, т.е. в качестве результата процедурой возвращается действие), параметрами которой являются две функции (у() и х()). Действие данного оператора на аргумент состоит в вычислении параметрической производной от функции, указанной первым параметром оператора, по второй. Переменной-параметром при этом является аргумент, на который действует оператор paramdiff(). Описание процедуры заканчивается точкой с запятой, поэтому в области вывода можно увидеть сгенерированный для процедуры программный код.

На заметку
Чтобы этот код не отображался, в конце процедуры достаточно поставить двоеточие.


В процедуре описана локальная переменная t, которая доступна только внутри тела процедуры. Далее следует команда, определяющая работу процедуры paramdiff (). Согласно этой команде, переменной t в соответствие ставится (->) параметрическая производная от у по х (diff (y(t),t)/diff (x(t),t)), а сама переменная t при этом является параметром.

Теперь можно вычислить первую производную.

На заметку
То, что в предыдущей команде при вызове paramdiff () в качестве аргумента указана переменная t, которая формально идентична локальной переменной в описании этой процедуры, — простое совпадение. Можно было бы указать и иной параметр, например р или v.


После упрощения получим следующее.

Вторую производную (не используя полученного выше выражения для первой производной) можно вычислить, дважды вызвав процедуру paramdiff ().

Третью производную вычислим "традиционным" способом.

Здесь переменная среды % ссылается на результат выполнения предыдущего действия, т.е. на параметрическую зависимость для второй производной от у по х.

Теперь полученное выражение упрощаем.

Хотелось бы еще раз обратить внимание на принципиальный момент в определении использованной выше процедуры: данная процедура, по сути, является оператором (ее результат — это не число или выражение, а действие!), зависящим от двух параметров-функций. Действие оператора на аргумент состоит в вычислении параметрической производной от первой функции по второй функции, а аргумент, на который действует оператор, является при этом переменной-параметром.