7.2.3. Частные производные

С помощью обоих процессоров Mathcad можно вычислять производные функций любого количества аргументов. В этом случае, как известно, производные по разным аргументам называются частными. Чтобы вычислить частную производную, необходимо, как обычно, ввести оператор производной с панели Calculus (Вычисления) и в соответствующем местозаполнителе напечатать имя переменной, по которой должно быть осуществлено дифференцирование. Пример приведен в листинге 7.16, в первой строке которого определена функция двух переменных, а в двух следующих строках символьным образом вычислены ее частные производные по обеим переменным — х и у — соответственно. Чтобы определить частную производную численным методом, необходимо предварительно задать значения всех аргументов, что и сделано в следующих двух строках листинга. Последнее выражение в листинге снова (как и в третьей строке) определяет символьно частную производную по у. Но поскольку переменным х и у уже присвоено конкретное значение, то в результате получается число, а не аналитическое выражение.

Листинг 7.16 Символьное и численное вычисление частных производных

Частные производные высших порядков рассчитываются точно так же, как и обычные производные высших порядков (см. разд. 7.2.2). Листинг 7.17 иллюстрирует расчет вторых производных функции из предыдущего примера по переменным х, у и смешанной производной.

Листинг 7.17. Вычисление второй частной производной

Возможно, Вы обратили внимание, что в обоих листингах 7.16 и 7.17 оператор дифференцирования записан в форме частной производной. Подобно тому как существует возможность выбирать вид, например оператора присваивания, можно записывать операторы дифференцирования в виде обычной или частной производной. Запись оператора не влияет на вычисления, а служит лишь более привычной формой представления расчетов. Для того чтобы изменить вид оператора дифференцирования на представление частной производной, следует:

  • Вызвать контекстное меню из области оператора дифференцирования нажатием правой кнопки мыши.
  • Выбрать в контекстном меню верхний пункт View Derivative As (Показывать производную как).
  • В появившемся подменю (рис. 7.5) выбрать пункт Partial Derivative (Частная производная).

Рис. 7.5. Изменение вида оператора дифференцирования

Чтобы вернуть вид производной, принятый по умолчанию, выберите в подменю пункт Default (По умолчанию) либо, для представления ее в обычном виде — Derivative (Производная).

Завершим разговор о частных производных двумя примерами, которые нередко встречаются в вычислительной практике. Программная реализация первого из них, посвященная вычислению градиента функции двух переменных, приведена в листинге 7.18. В качестве примера взята функция f (x,y), определяемая в первой строке листинга, график которой показан в виде линий уровня на рис. 7.6. Как известно, градиент функции f(х,у) является векторной функцией тех же аргументов, что и f (х,у), определенной через ее частные производные, согласно второй строке листинга 7.18. В оставшейся части этого листинга задаются ранжированные переменные и матрицы, необходимые для подготовки графиков функции и ее градиента.

Листинг 7.18. Вычисление градиента

Векторное поле рассчитанного градиента функции f(x,y) показано на рис. 7.7. Как можно убедиться, сравнив рис. 7.6 и 7.7, математический смысл градиента состоит в задании в каждой точке (х,у) направления на плоскости, в котором функция f (х,у) растет наиболее быстро.

До сих пор в данной главе мы рассматривали скалярные функции, к которым, собственно, и можно применять операторы дифференцирования. Часто приходится иметь дело с вычислением производных векторных функций. Например, в различных областях математики (см. разд. "Жесткие системы ОДУ" гл. 11) мы сталкиваемся с проблемой вычисления якобиана (или матрицы Якоби) — матрицы, составленной из частных производных векторной функции по всем ее аргументам. Пример вычисления якобиана векторной функции f (х) векторного аргумента х приведен в листинге 7.19. В нем для определения частных производных якобиана каждый i-й скалярный компонент f (x)i дифференцируется символьным процессором Mathcad.

Рис. 7.6. График линий уровня функции f (х,у) (листинг 7.18)

Рис. 7.7. Векторное поле градиента функции f (х,у) (листинг 7.18)

Тот же самый якобиан можно вычислить и несколько по-другому, если определить функцию не одного векторного, а трех скалярных аргументов f(x,y,z) (листинг 7.20).

Листинг 7.19. Вычисление якобиана векторной фенкции векторного аргумента

Листинг 7.20. Вычисление якобиана векторной функции трех скалярных аргумента

Не забывайте, что для численного определения якобиана необходимо сначала определить точку, в которой он будет рассчитываться, т. е. вектор х в терминах листинга 7.19, или все три переменных х,у, z в обозначениях листинга 7.20.