Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭО Лаб работа 2.doc
Скачиваний:
24
Добавлен:
31.03.2015
Размер:
779.78 Кб
Скачать

Вычисление производных

Для вычисления производных в Maple имеются две команды:

  1. прямого исполнения – diff(f,x), где f – функция, которую следует продифференцировать, x – имя переменной, по которой производится дифференцирование.

  2. отложенного исполнения – Diff(f,x), где параметры команды такие же, как и в предыдущей. Действие этой команды сводится к аналитической записи производной в виде . После выполнения дифференцирования, полученное выражение желательно упростить. Для этого следует использовать команды simplify factor или expand, в зависимости от того, в каком виде вам нужен результат.

Пример:

> Diff(sin(x^2),x)=diff(sin(x^2),x);

Для вычисления производных старших порядков следует указать в параметрах x$n, где n – порядок производной; например:

> Diff(cos(2*x)^2,x$4)=diff(cos(2*x)^2,x$4);

Полученное выражение можно упростить двумя способами:

> simplify(%);

> combine(%);

Большинство задач дифференциального исчисления функций многих переменных решается в Maple теми же командами, что и для функций одной переменной, только с указанием дополнительных параметров.

Для вычисления частных производных функции f(x1,…, xm) используется уже хорошо известная вам команда diff. В этом случае эта команда имеет такой формат: diff(f,x1$n1,x2$n2,…, xm$nm), где x1,…, xm – переменные, по которым производится дифференцирование, а после знака $ указаны соответствующие порядки дифференцирования. Например, частная производная записывается в виде:diff(f,x,y).

Найти все частные производные 2-го порядка функции .

> restart; f:=(x-y)/(x+y):

> Diff(f,x$2)=simplify(diff(f,x$2));

> Diff(f,y$2)=simplify(diff(f,y$2));

> Diff(f,x,y)=diff(f,x,y);

.

Исследование функций

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

Проверить непрерывность функции f(x) на заданном промежутке [x1,x2] можно с помощью команды iscont(f,x=x1..x2). Если функция f непрерывна на этом интервале, то в поле вывода появится ответ true – (истина); если функция f не является непрерывной на этом интервале, то в поле вывода появится ответ false – (ложь). В частности, если задать интервал x=-infinity..+infinity, то функция f будет проверяться на всей числовой оси. В этом случае, если будет получен ответ true, то можно сказать, что функция определена и непрерывна на всей числовой оси. В противном случае следует искать точки разрыва. Это можно сделать двумя способами:

  1. с помощью команды discont(f,x), где f – функция, исследуемая на непрерывность, x – переменная. Эта команда пригодна для нахождения точки разрыва первого и второго родов.

  2. с помощью команды singular(f,x), где f – функция, x – переменная. Эта команда годится для нахождения точек разрыва второго рода как для вещественных значений переменной, так и для комплексных.

Обе эти команды выдают результаты в виде перечисления точек разрыва в фигурных скобках. Тип такой записи называется set. Для того, чтобы в дальнейшем можно было использовать полученные значения точек разрыва, следует из типа set с помощью команды convert перевести их в обычный числовой тип.

  1. Найдите точки разрыва функции

> iscont(exp(1/(x+3)),x=-infinity..+infinity);

false

Это означает, что функция не является непрерывной. Поэтому следует найти точки разрыва с помощью команды:

> discont(exp(1/(x+3)),x);

{-3}

Ответ наберите в текстовом режиме в новой строке:

“Точка разрыва x=3.”

  1. Найти точки разрыва функции

> iscont(tan(x/(2-x)),x=-infinity..infinity);

false

> singular(tan(x/(2-x)),x);

{x=2},{x=2}

Здесь _N – целые числа. Ответ наберите в текстовом режиме в новой строке:

“Точки разрыва: x=2 и x=2(2n+1)/((2n+1)-2).”

В Maple для исследования функции на экстремум имеется команда extrema(f,{cond},x,’s’) , где f - функция, экстремумы которой ищутся. В фигурных скобках {cond} указываются ограничения для переменной, х – имя переменной, по которой ищется экстремум, в апострофах ’s’ – указывается имя переменной, которой будет присвоена координата точки экстремума. Если оставить пустыми фигурные скобки {}, то поиск экстремумов будет производиться на всей числовой оси. Пример:

> extrema(arctan(x)-ln(1+x^2)/2,{},x,’x0’);x0;

{{x=1}}

В первой строке вывода приводится экстремум функции, а во второй строке вывода – точка этого экстремума.

К сожалению, эта команда не может дать ответ на вопрос, какая из точек экстремума есть максимум, а какая – минимум. Для нахождения максимума функции f(x) по переменной х на интервале используется командаmaximize(f,x,x=x1..x2), а для нахождения минимума функции f(x) по переменной х на интервале используется командаminimize(f, x, x=x1..x2). Если после переменной указать ’infinity’ или интервал x=-infinity..+infinity, то команды maximize и minimize будут искать, соответственно, максимумы и минимумы на всей числовой оси как во множестве вещественных чисел, так и комплексных. Если такие параметры не указывать, то поиск максимумов и минимумов будет производиться только во множестве вещественных чисел. Пример:

> maximize(exp(-x^2),x);

1

Координаты точек максимума или минимума можно получить, если в параметрах этих команд после переменной записать через запятую новую опцию location. В результате в строке вывода после самого максимума (минимума) функции будут в фигурных скобках указаны координаты точек максимума (минимума). Например:

> minimize(x^4-x^2, x, location);

, {, }

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

Так же, как и для функции одной переменной, наибольшее и наименьшее значения функции многих переменных вычисляются командами maximize(f,{x1,…,xn},range), и minimize(f,{x1,…,xn}, range), где следует указывать после функции в фигурных скобках список всех переменных, от которых она зависит, а затем интервалы для каждой переменной, указывающие область поиска наибольшего и наименьшего значений.