Компания ALT Linux
Опубликован: 24.03.2015 | Доступ: свободный | Студентов: 550 / 136 | Длительность: 19:00:00
Лекция 3:

Задачи высшей математики с Maxima

3.4.3 Дифференцирование функций нескольких переменных

Для определения набора частных производных функции нескольких переменным (компонентов градиента) используется функция gradef в формате gradef(f(x_1,...,x_n),g_1,...,g_m) или gradef(a,x,expr)

Выражение gradef(f(x_1,...,x_n),g_1,...,g_m) определяет g_1,g_2,... g_n как частные производные функции f(x_1,x_2,... ,x_n) по переменным x_1,x_2,... ,x_n соответственно.

Зависимости между переменными можно явно указать при помощи функции depends, которая позволяет декларировать, что переменная зависит от одной или нескольких других переменных. Например, если зависимость f и x отсутствует, выражение diff(f,x) возвращает 0. Если декларировать её при помощи depends(f,x), выражение diff(f,x) возвращает символьную производную.

Пример:

(%i1)	depends(y,x);
[y\left( x\right) ]\leqno{(\%o1) }
(%i2)	gradef(f(x,y),x^2,g(x,y));
f\left( x,y\right) \leqno{(\%o2) }
(%i3)	diff(f(x,y),x);
g\left( x,y\right) \,\left( \frac{d}{d\,x}\,y\right) +{x}^{2}\leqno{(\%o3) }
(%i4)	diff(f(x,y),y);
g\left( x,y\right) \leqno{(\%o4) }

Вторая форма обращения к gradef фактически устанавливает зависимость a от x. При помощи gradef можно определить производные некоторой функции, даже если она сама неизвестна, посредством diff определить производные высших порядков.

Для прямых вычислений, связанных с операциями векторного анализа, необходимо загрузить пакет vect. Кроме того, применения операторов div, curl, grad, laplasian к некоторому выражению используется функция express.

Пример: Вычисление градиента функции трех переменных

(%i2)	grad (x^2 + 2*y^2 + 3*z^2);
grad\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) \leqno{(\%o2) }
(%i3)	express(%);
[\frac{d}{d\,x}\,\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) ,\frac{d}{d\,y}\,\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) ,\frac{d}{d\,z}\,\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) ]\leqno{(\%o3) }
(%i4)	ev(%,diff);
[2\,x,4\,y,6\,z]\leqno{(\%o4) }

Вычисление дивергенции

(%i5)	div([x^2,2*y^2,3*z^2]);
div\left( [{x}^{2},2\,{y}^{2},3\,{z}^{2}]\right) \leqno{(\%o5) }
(%i6)	express(%);
\frac{d}{d\,z}\,\left( 3\,{z}^{2}\right) +\frac{d}{d\,y}\,\left( 2\,{y}^{2}\right) +\frac{d}{d\,x}\,{x}^{2}\leqno{(\%o6) }
(%i7)	ev(%,diff);
6\,z+4\,y+2\,x\leqno{(\%o7) }

Вычисление вихря:

(%i8)	curl([x^2,2*y^2,3*z^2]);
curl\left( [{x}^{2},2\,{y}^{2},3\,{z}^{2}]\right) \leqno{(\%o8) }
(%i9)	express(%);
[\frac{d}{d\,y}\,\left( 3\,{z}^{2}\right) -\frac{d}{d\,z}\,\left( 2\,{y}^{2}\right) ,\frac{d}{d\,z}\,{x}^{2}-\frac{d}{d\,x}\,\left( 3\,{z}^{2}\right) ,\frac{d}{d\,x}\,\left( 2\,{y}^{2}\right) -\frac{d}{d\,y}\,{x}^{2}]\leqno{(\%o9) }
(%i10)	ev(%,diff);
[0,0,0]\leqno{(\%o10) }

Вычисление оператора Лапласа:

(%i13)	laplacian(x^2+2*y^2+3*z^2);
laplacian\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) \leqno{(\%o13) }
(%i14)	express(%);
\frac{{d}^{2}}{d\,{z}^{2}}\,\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) +\frac{{d}^{2}}{d\,{y}^{2}}\,\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) +\frac{{d}^{2}}{d\,{x}^{2}}\,\left( 3\,{z}^{2}+2\,{y}^{2}+{x}^{2}\right) \leqno{(\%o14) }
(%i15)	ev(%,diff);
12\leqno{(\%o15) }

Рассмотрим пример исследования функции нескольких переменных: исследовать на экстремум функцию f(x,y) = {y}^{2}-4\,y+{x}^{3}-\frac{9\,{x}^{2}}{2}+6\,x-12

Загружаем пакет vect

(%i1)	load("vect")$

Определяем исследуемое выражение и вычисляем его градиент:

(%i2)	f:x^3-9/2*x^2+6*x+y^2-4*y-12;
{y}^{2}-4\,y+{x}^{3}-\frac{9\,{x}^{2}}{2}+6\,x-12\leqno{(\%o2) }
(%i3)	grad(f);
grad\left( {y}^{2}-4\,y+{x}^{3}-\frac{9\,{x}^{2}}{2}+6\,x-12\right) \leqno{(\%o3) }
(%i4)	express(%);
[\frac{d}{dx}\left( {y}^{2}-4y+{x}^{3}-\frac{9{x}^{2}}{2}+6x-12\right),\leqno{(\%o4) }
\frac{d}{d\,y}\left( {y}^{2}-4y+{x}^{3}-\frac{9{x}^{2}}{2}+6x-12\right),
\frac{d}{dz}\,\left( {y}^{2}-4y+{x}^{3}-\frac{9{x}^{2}}{2}+6x-12\right) ]
(%i5)	ev(%,diff);
[3\,{x}^{2}-9\,x+6,2\,y-4,0]\leqno{(\%o5) }

Выделяем из полученного списка частные производные и решаем систему f_x(x,y) = 0;\,f_y(x,y) = 0

(%i6)	dfdx:%o5[1];
3\,{x}^{2}-9\,x+6\leqno{(\%o6) }
(%i7)	dfdy:%o5[2];
2\,y-4\leqno{(\%o7) }
(%i8)	solve([dfdx=0,dfdy=0],[x,y]);
[[x=1,y=2],[x=2,y=2]]\leqno{(\%o8) }

В результате решения находим две критические точки M_1(1, 2) и M_2(2, 2) Для проверки, достигается ли в критических точках экстремум, используем достаточное условие экстремума:

(%i9)	A:diff(dfdx,x);
6\,x-9\leqno{(\%o9) }
(%i10)	C:diff(dfdy,y);
2\leqno{(\%o10) }
(%i11)	B:diff(dfdx,y);
0\leqno{(\%o11) }
(%i12)	A*C-B^2;
2\,\left( 6\,x-9\right) \leqno{(\%o12) }

Так как A * C - B^2 > 0 только в точке M_2(2, 2), то исследуемая функция имеет единственный экстремум. Учитывая, что в точке M_2(2, 2) A > 0, точка M_2 — точка минимума. Результат иллюстрируем графически рис. 3.13).

Поиск экстремума функции нескольких переменных

увеличить изображение
Рис. 3.13. Поиск экстремума функции нескольких переменных