дифференцирование сложной функции переменной и его приложение
Правила дифференцирования
Дифференцирование суммы, произведения, частного и обратной функции.
Если функции \(f\) и \(g\) дифференцируемы в точке \(x\), то в этой точке дифференцируемы функции \(f+g\), \(fg\), \(\frac
$$
(f(x)+g(x))’=f'(x)+g'(x),\label
$$
$$
(f(x)g(x))’=f'(x)g(x)+f(x)g'(x),\label
$$
$$
(\frac
$$
\(\circ \) Обозначим \(\Delta f=f(x+\Delta x)-f(x)\) и \(\Delta g=g(x+\Delta x)-g(x)\).
Тогда \(\displaystyle \frac<\Delta f><\Delta x>\rightarrow f'(x),\;\displaystyle \frac<\Delta g><\Delta x>\rightarrow g'(x)\) при \(\Delta x\rightarrow 0\), так как существуют \(f'(x)\) и \(g'(x)\). Кроме того, \(f(x+\Delta x)=f(x)+\Delta f,\;g(x+\Delta x)=g(x)+\Delta g,\) где \(\Delta f\rightarrow 0,\;\Delta g\rightarrow 0\), так как функции \(f\) и \(g\) непрерывны в точке \(x\).
Если функция \(f\) дифференцируема в точке \(x\) и \(C\) — постоянная, то
$$
(Cf(x))’=Cf'(x),\nonumber
$$
то есть постоянный множитель можно выносить из-под знака дифференцирования.
Если функции \(f_
$$
\left(\sum_
$$
то есть производная линейной комбинации дифференцируемых функций равна такой же линейной комбинации производных данных функций.
Например, если \(y=2e^
Автоматическое дифференцирование «на пальцах»
Простые соображения
Вопрос чуть сложнее: рассмотрим функцию , и зададимся про нее тем же вопросом. Несложно видеть, что и в этом случае мы легко находим
, и
. Аналогично, для
имеем
и
. И так далее: для любой элементарной функции, примененой к
, мы можем вычислить значение и производную, используя только два числа:
и
.
Далее, пусть есть еще какая-нибудь функция , и про нее мы тоже знаем только два числа:
и
. Тогда для функции
мы столь же легко можем вычислить и значение, и производную в той же точке; и аналогично для любой бинарной операции. Например, для умножения имеем: если
, то
и
.
Таким образом, мы можем свободно выполнять любые операции над парами чисел (значение функции, значение ее производной), и никакой дополнительной информации нам не понадобится. Если в некоторой точке мы знаем значения некоторых «базовых» функций и значения их производных, то для любой сложной функции, определяемой через эти «базовые», мы можем автоматически вычислить и ее значение, и значение ее производной.
Легко пишется класс, который реализует такую арифметику:
Вот пример вычисления функции вместе с ее производной:
Естественно, чтобы не городить такой код, проще добавить в наш класс неявное преобразование типов:
и именованный конструктор для независимой переменной:
после чего код функции f становится еще проще:
Вот пример кода, решающего уравнение методом Ньютона (здесь я еще, естественно, операторы сделал глобальными, чтобы работало a*xd ; выше они члены класса только для того, чтобы не загромождать код). Если вы захотите изменить решаемое уравнение, вам надо поменять код функции f и всё; производная будет автоматически вычисляться верно. (Конечно, в данном примере, может быть, проще было бы посчитать производную руками, потому что функция простая, — но как только уравнения у вас становятся более сложными, возможность не думать о коде вычисления производной оказывается очень удобной.)
Конечно, можно придумать и такую функцию, для которой такой подход работать не будет — вдруг вам придет в голову вычислять функцию f методом Монте-Карло? — но все равно область применения автоматического дифференцирования весьма широка. (А потом, если уж вы и правда вычисляете свою функцию методом Монте-Карло, то как вы вообще представляете себе ее производную?)
Обобщения
Напоследок несколько слов об обобщениях этого подхода. На случай нескольких независимых переменных все обобщается очевидным образом: просто будем хранить соответствующее количество производных. Полезно, наверное, класс Derivable сделать шаблонным, принимающим в качестве параметра шаблона количество независимых переменных.
Также несложно все обобщить и на случай производных высших степеней. Я этого сам не делал, но с ходу мне кажется, что это не очень сложно, хотя немного подумать придется. Во-первых, конечно, можно вручную для каждого оператора и элементарной функции вывести формулы пересчета всех производных до нужной степени, и забить эти формулы в код. Во-вторых, можно все-таки думать в терминах дуальных чисел (см. по ссылкам из начала поста), или (как, на мой взгляд, проще), в терминах разложения в ряд Тейлора: если мы храним не производные, а коэффициенты разложения в ряд, то нам надо просто уметь выполнять операции над рядами, что довольно просто.
Другие реализации
Отмечу, что описанный выше подход с перегрузкой операторов не является единственным возможным; даже различают «forward» и «reverse» реализации (подробнее см. в википедии и по ссылкам оттуда). В частности, по-видимому, многие коды, на которые приведены ссылки в википедии, используют несколько более общие подходы — но я их смотрел только очень поверхностно.
Производная сложной функции
Данная статья покажет понятие сложной функции и ее выявление. Поработаем с формулами нахождения производной с примерами решений в заключении. Применение таблицы производных и правила дифференцирования заметно уменьшают время для нахождения производной.
Основные определения
Сложной функцией считается такая функция, у которой аргумент также является функцией.
Понятие композиция функции относится к количеству вложенных функций по условию задачи. Для решения используется формула нахождения производной сложной функции вида
( f ( g ( x ) ) ) ‘ = f ‘ ( g ( x ) ) · g ‘ ( x )
Примеры
По условию видно, что f является функцией возведения в квадрат, а g ( x ) = 2 x + 1 считается линейной функцией.
Применим формулу производной для сложной функции и запишем:
Необходимо найти производную с упрощенным исходным видом функции. Получаем:
y = ( 2 x + 1 ) 2 = 4 x 2 + 4 x + 1
Первая запись функции говорит о том, что f является функцией возведения в квадрат, а g ( x ) – функцией синуса. Тогда получим, что
Вторая запись показывает, что f является функцией синуса, а g ( x ) = x 2 обозначаем степенную функцию. Отсюда следует, что произведение сложной функции запишем как
Из формулы определения сложной функции имеем, что
y ‘ = f ‘ ( f 1 ( f 2 ( f 3 ( f 4 ( x ) ) ) ) ) · f 1 ‘ ( f 2 ( f 3 ( f 4 ( x ) ) ) ) · · f 2 ‘ ( f 3 ( f 4 ( x ) ) ) · f 3 ‘ ( f 4 ( x ) ) · f 4 ‘ ( x )
Получаем, что следует найти
Производим объединение промежуточных результатов и получаем, что
y ‘ = f ‘ ( f 1 ( f 2 ( f 3 ( f 4 ( x ) ) ) ) ) · f 1 ‘ ( f 2 ( f 3 ( f 4 ( x ) ) ) ) · · f 2 ‘ ( f 3 ( f 4 ( x ) ) ) · f 3 ‘ ( f 4 ( x ) ) · f 4 ‘ ( x ) = = cos ( ln 3 a r c t g ( 2 x ) ) · 3 · ln 2 a r c t g ( 2 x ) · 1 a r c t g ( 2 x ) · 1 1 + 4 x 2 · 2 = = 6 · cos ( ln 3 a r c t g ( 2 x ) ) · ln 2 a r c t g ( 2 x ) a r c t g ( 2 x ) · ( 1 + 4 x 2 )
Разбор таких функций напоминает матрешки. Правила дифференцирования не всегда могут быть применены в явном виде при помощи таблицы производных. Зачастую нужно применять формулу нахождения производных сложных функций.
Существуют некоторые различия сложного вида от сложных функций. При явном умении это различать, нахождение производных будет давать особенно легко.
y ‘ = ( t g x 2 + 3 t g x + 1 ) ‘ = ( t g x 2 ) ‘ + ( 3 t g x ) ‘ + 1 ‘ = = ( t g x 2 ) ‘ + 3 · ( t g x ) ‘ + 0 = ( t g x 2 ) ‘ + 3 cos 2 x
Переходим к нахождению производной сложной функции ( t g x 2 ) ‘ :
Получаем, что y ‘ = ( t g x 2 + 3 t g x + 1 ) ‘ = ( t g x 2 ) ‘ + 3 cos 2 x = 2 x cos 2 ( x 2 ) + 3 cos 2 x
Функции сложного вида могут быть включены в состав сложных функций, причем сами сложные функции могут являться составными функции сложного вида.
Для примера рассмотрим сложную функцию вида y = log 3 x 2 + 3 cos 3 ( 2 x + 1 ) + 7 e x 2 + 3 3 + ln 2 x · ( x 2 + 1 )
Отсюда видно, что h ( x ) = l ( x ) m ( x ) = n ( x ) + p ( x ) q ( x ) + r ( x ) = n ( x ) + 3 · p 1 ( p 2 ( p 3 ( x ) ) ) q 1 ( q 2 ( x ) ) + r ( x )
y = log 3 x 2 + 3 cos 3 ( 2 x + 1 ) + 7 e x 2 + 3 3 + ln 2 x · ( x 2 + 1 ) = = f n ( x ) + 3 · p 1 ( p 2 ( p 3 ( x ) ) ) q 1 ( q 2 ( x ) ) = r ( x ) + s 1 ( s 2 ( x ) ) · t ( x )
По структурам функции стало явно, как и какие формулы необходимо применять для упрощения выражения при его дифференцировании. Для ознакомления подобных задач и и для понятия их решения необходимо обратиться к пункту дифференцирования функции, то есть нахождения ее производной.
04.5. Дифференцирование сложной функции
ТЕОРЕМА 3. Пусть функция х = φ(T) имеет производную в точке T0, а функция у = F(X) имеет производную в соответствующей точке X0 = φ(t0). Тогда сложная функция F[φ(T)] имеет производную в точке T0 U справедлива следующая формула:
В теореме 4.3 рассмотрена суперпозиция двух функций, где У зависит от T через промежуточную переменную Х. Возможна и более сложная зависимость с двумя и более промежуточными переменными, однако правило дифференцирования сложной функции остается тем же. Например, если У = у(х), х = φ(и), и = ψ(T), то производная Y‘(T) вычисляется по формуле
Рассмотрим несколько примеров на дифференцирование сложной функции.
Пример 1. Найти производную функции У = tg (X3).
Решение. Эту функцию можно представить через промежуточную переменную И как Y = Tg U, и = х3. Тогда по формуле (4.7) имеем
Пример 2. Найти производную функции У = .
Решение. Здесь функция представляется с помощью трех промежуточных переменных: У = ЕU, И = V2, V = Tg W, W = 4X. Применяя правило (4.7) дифференцирования сложной функции, последовательно получаем
Пример 3. Найти угол наклона к оси Оx касательной к графику функции
Решение. Данная функция является суммой двух сложных функций, представляемых через промежуточные переменные как
Применяя правила дифференцирования суммы функций и сложных функций, получаем
Поскольку тангенс угла наклона касательной к оси Ох при Х = 0 равен значению производной в этой точке, из последнего равенства получаем, подставляя в него Х = 0:
Дифференцирование сложной функции и теоремы
Дифференцирование сложной функции
Это эквивалентно существованию производной в точке 0. Людмила Фирмаль
Наконец, обратите внимание, что существует конечное Из всего этого следует Δ (Если-0, то правая часть уравнения (20.24) имеет тенденцию к ограничению С другой стороны, левая сторона этого выражения, т. е.^-.имеет тенденцию к тому же ограничению, что означает, что любое q-существует в точке^ 0 и представлено выражением (20.22). [] 、%И% функции 2 =((x, y), в процессе доказательства практически Были использованы более мощные свойства этой функции, чем наличие частных производных, то есть Дифференцируемость. Упражнение I.
Согласно теореме 5, эта функция определяется в окрестности точки u0 и имеет производную при этом point. So … Производная^точки (u0, y0) также существует из выражения (20.22 Формула (20.25) продолжается. Тс Аналогично, частные производные существуют в точках (s, y0), а комплексные функции r = [(x(u, y), y(u, y)) Точка (uj, yy) имеет частную производную по отношению к y, формула Рассмотрим общий n-мерный случай. Функция г = г (Х1,…, xn) точка x (0,=(x’1,…. приведенный в окрестности (х Трансальп) и набор((и Пк является функцией Х, = Х, интернет… ф.*)、* ’= 1、2、…если вы хотите… / * ° )==».Для функций y-y(x) y (xi …. xn) дифференцируема в точке n ’(0).
Конечное выражение для производной комплексной функции содержит только частные производные/ Людмила Фирмаль
Образовательный сайт для студентов и школьников
Копирование материалов сайта возможно только с указанием активной ссылки «www.lfirmal.com» в качестве источника.
© Фирмаль Людмила Анатольевна — официальный сайт преподавателя математического факультета Дальневосточного государственного физико-технического института