Задачи высшей математики с Maxima
3.4.3 Дифференцирование функций нескольких переменных
Для определения набора частных производных функции нескольких переменным (компонентов градиента) используется функция в формате или
Выражение определяет как частные производные функции по переменным соответственно.
Зависимости между переменными можно явно указать при помощи функции , которая позволяет декларировать, что переменная зависит от одной или нескольких других переменных. Например, если зависимость и отсутствует, выражение возвращает 0. Если декларировать её при помощи , выражение возвращает символьную производную.
Пример:
(%i1) depends(y,x);
(%i2) gradef(f(x,y),x^2,g(x,y));
(%i3) diff(f(x,y),x);
(%i4) diff(f(x,y),y);
Вторая форма обращения к фактически устанавливает зависимость от . При помощи можно определить производные некоторой функции, даже если она сама неизвестна, посредством определить производные высших порядков.
Для прямых вычислений, связанных с операциями векторного анализа, необходимо загрузить пакет vect. Кроме того, применения операторов к некоторому выражению используется функция .
Пример: Вычисление градиента функции трех переменных
(%i2) grad (x^2 + 2*y^2 + 3*z^2);
(%i3) express(%);
(%i4) ev(%,diff);
Вычисление дивергенции
(%i5) div([x^2,2*y^2,3*z^2]);
(%i6) express(%);
(%i7) ev(%,diff);
Вычисление вихря:
(%i8) curl([x^2,2*y^2,3*z^2]);
(%i9) express(%);
(%i10) ev(%,diff);
Вычисление оператора Лапласа:
(%i13) laplacian(x^2+2*y^2+3*z^2);
(%i14) express(%);
(%i15) ev(%,diff);
Рассмотрим пример исследования функции нескольких переменных: исследовать на экстремум функцию
Загружаем пакет vect
(%i1) load("vect")$
Определяем исследуемое выражение и вычисляем его градиент:
(%i2) f:x^3-9/2*x^2+6*x+y^2-4*y-12;
(%i3) grad(f);
(%i4) express(%);
(%i5) ev(%,diff);
Выделяем из полученного списка частные производные и решаем систему
(%i6) dfdx:%o5[1];
(%i7) dfdy:%o5[2];
(%i8) solve([dfdx=0,dfdy=0],[x,y]);
В результате решения находим две критические точки и Для проверки, достигается ли в критических точках экстремум, используем достаточное условие экстремума:
(%i9) A:diff(dfdx,x);
(%i10) C:diff(dfdy,y);
(%i11) B:diff(dfdx,y);
(%i12) A*C-B^2;
Так как только в точке , то исследуемая функция имеет единственный экстремум. Учитывая, что в точке , точка — точка минимума. Результат иллюстрируем графически рис. 3.13).