Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Свод.doc
Скачиваний:
119
Добавлен:
08.03.2016
Размер:
2.1 Mб
Скачать

12. Дифференцирование функций.

Дифференциал программа не понимает. Это условное понятие бесконечно малой величины, которую нельзя определить или вычислить. Символ дифференциала может быть записан в Т-строке. Можно записать его и в К-строке, но он будет означать лишь сочетание букв и никакие операции с ним, именно как с дифференциалом, невозможны.

1. Оператор дифференцирования - "diff" (полные и частные производные любого порядка). Функцию определяют оператором присвоения, либо вписывают прямо в команду (первое удобнее, когда ищется несколько производных, либо с функцией совершаются ещё какие-то действия). Этот оператор может быть и внутренним и внешним. Необходимо указать аргумент (аргументы), по которому производится дифференцирование (параметр команды). Если имеем функцию одной переменной, то производная - полная. Для функции нескольких переменных та же команда даёт частные производные. Возможна символическая запись производной неопределённой функции, но при этом надо указать зависимость функции от данного аргумента.

> diff(f(x, y, z), x);

Но

> diff(f(x, y, z), t);

Формат команды 1-й производной (от данной функции одной переменной):

> f1:=a*x^n*sin(x); f1d:=factor(diff(f1, x)); simplify(diff(f1^2+2/x, x));

Выше показано последовательное применение нескольких операторов, включая дифференцирование. Для функции нескольких переменных (частные производные, вообще не равные):

> f2:=a*x^n*sin(y); f2x:=diff(f2, x); f2y:=diff(f2, y);

Производные высших порядков. Порядок производной равен числу указанных в команде параметров (перечисляются через запятые).

> f1d3:=factor(diff(f1, x,x,x)): simplify(%);

Для производных высокой кратности удобно записать параметр команды через символ последовательности "$".

> f3:=exp(-a*x); f35:=diff(f3,x$5); f3n:=diff(f3,x$n);

Выведены производные 5-го порядка и произвольного порядка n.

Производные в точках разрыва или в особых точках функции могут быть бесконечны или неопределённы. В этом случае программа сообщает о некорректности операции, например:

> eval(subs(x=0, diff(exp(-1/x), x)));

Error, numeric exception: division by zero

Поэтому, при исследовании функции не лишне проверить её на сингуляр-ность (см. п. 8). В случаях разрыва можно искать производную в пределах слева и справа от данной точки (см. п. 11.1).

Смешанные частные производные. Когда переменных две (и больше) имеем смешанные частные производные:

> f2xyy:=simplify(diff(f2, x,y,y)); f2xxy:=simplify(diff(f2, x,x,y));

2. Дифференциальный оператор D. В некоторых случаях для обозначения производной применяется оператор D (см. Help).

> D[i](f)(x,y,z); D[2](f)(x,y,z); convert(%, diff);

Этот оператор м. б. использован для вычисления производной в данной точке.

> D(f)(0); convert(%, diff);

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

> y:= x^4 - 10*x^3 + 35*x^2 - 50*x + 24;

1-я и 2-я производные:

> yd1:=diff(y, x); yd2:=diff(y, x, x);

> plot([y, yd1, yd2], x=0..5, -5..4, color=[black, red, blue]);

График 12.1. Видно обращение в нуль 1-й производной в точках экстремума функции y, а 2-й производной - в точках экстремума 1-й производной.

>