Символьное дифференцирование

ОГЛАВЛЕНИЕ

Данная статья описывает разбор математического выражения и определение его элементов. В качестве примера было выбрано простое приложение символьного дифференцирования, чтобы повысить ценность статьи и дать максимальную пользу читателям.

•    Скачать исходники - 36.24 Кб (v0.90071)
•    Скачать демонстрационный проект - 170.4 Кб (v0.90071)

Введение

Приложение, как на рисунке выше, содержит простую сетку для рисования входной кривой и взятия ее производной на одном и том же виде. Детальное описание математики выходит за рамки статьи. В следующем разделе дано только определение производной. Если вам не интересна математика, пропустите его.

Определение дифференцирования

Производную функции можно трактовать как функцию, значение которой в x равняется градиенту касательной к графику y=f(x) в x, или же как функцию, описывающую мгновенную скорость изменения y относительно x в точке x. Производную f относительно x также можно обозначить через

d(f(x))/dx,
or if y = f(x), dy/dx

Формулы дифференцирования

Выражение

Производная

Замечания

 

u+v

du/dx+dv/dx

 
 

u-v

du/dx-dv/dx

 
 

u/v

(v*du/dx-u*dv/dx)/v^2

 
 

u*v

u*dv/dx+v*du/dx

 
 

c*u

c*du/dx

c - константа

 

u^v

v*u^(v-1)*du/dx+u^v*ln(u)*dv/dx

 
 

u^n

n*u^(n-1)*du/dx

n- вещественный

 

c^u

c^u*ln(c)*du/dx

c - константа

 

e^u

e^u*du/dx

e = 2.7182818284590452353602874713527

1

sin(u)

cos(u)*du/dx

 

2

cos(u)

-sin(u)*du/dx

 

3

tan(u)

sec(u)^2*du/dx

 

4

sec(u)

sec(u)*tan(u)*du/dx

 

5

cosec(u)

-cosec(u)*cot(u)*du/dx

 

6

cot(u)

-cosec(u)^2*du/dx

 

7

sinh(u)

cosh(u)*du/dx

 

8

cosh(u)

sinh(u)*du/dx

 

9

tanh(u)

sech(u)^2*du/dx

 

10

sech(u)

sech(u)*tanh(u)*du/dx

 

11

cosech(u)

cosech(u)*coth(u)*du/dx

 

12

coth(u)

-cosech(u)^2*du/dx

 

13

asin(u)

1/sqrt(1-u^2)*du/dx

 

14

acos(u)

-1/sqrt(1-u^2)*du/dx

 

15

atan(u)

1/(1+u^2)*du/dx

 

16

asec(u)

1/(|u|*sqrt(u^2-1))*du/dx

|u| - abs(u)

17

acosec(u)

-1/(|u|*sqrt(u^2-1))*du/dx

|u| - abs(u)

18

acot(u)

-1/(1+u^2)*du/dx

 

19

asinh(u)

1/sqrt(u^2+1)*du/dx

 

20

acosh(u)

1/sqrt(u^2-1)*du/dx

 

21

atanh(u)

1/(1-u^2)*du/dx

 

22

asech(u)

-1/(u*sqrt(1-u^2))*du/dx

 

23

acosech(u)

-1/(u*sqrt(1+u^2))*du/dx

 

24

acoth(u)

1/(1-u^2)*du/dx

 

25

sqrt(u)

1/(2*sqrt(u))*du/dx

 

26

log10(u)

1/(u*ln(10))*du/dx

 

27

log(u)

1/u*du/dx

 

28

ln(u)

1/u*du/dx

 

29

sign(u)

0

 

30

abs(u)

u/|u|*du/dx

|u| -abs(u)

Математическое выражение

Математическое выражение содержит числа, операторы, функции и переменные. Операторы включают в себя +, -, *, / и ^. Функции подобны sin(x), а переменные подобны x. Задача – определить каждый элемент и применить правильное правило дифференцирования к этому элементу или группе элементов.

Примеры выражений:

sin(2*x)/x
sin(45+cos(2)/tan(x)
sign(cos(x)
32*9-8/2
Читайте также:
  • Манипулирование цветами в .NET – часть первая
    • Скачать демонстрационный проект (.NET 1.1) - 58.8 Кб• Скачать исходники C# (.NET 1.1) - 110.0 Кб• Скачать исходники C# (.NET 2.0) - 111.2 Кб• Скачать исходники VB (.NET 2.0) - 115.7 Кб Введение Почему статья о "цветах"? На самом деле, в .NET, можно использовать только два формата цвета: цвет...
  • Назад к основам – обобщенные структуры данных и алгоритмы в .NET 2.0
    •    Скачать исходники - 265.8 Кб (с тестами NUnit)•    Скачать двоичные файлы - 40.5 Кб•    Домашняя страница проекта NGenerics (CodePlex)Статья не дает все подробности и полные описания внутреннего устройства этих коллекций и алгоритмов - наоборот, она дает ссылки на имеющиеся в интернете ресурс...
  • Определение цен барьерных опционов с помощью сеток. Часть первая – постоянные барьеры
    •    Скачать демонстрационный проект - 5.26 Кб•    Скачать исходники - 12.2 Кб Введение Стоит отметить, что представленный метод можно расширить до вмещения опционов с несколькими постоянными барьерами. После изучения простого примера перейдем к более сложным опционам с изменяющимися во времени ...
  • FuzzyAdvisor – простая экспертная система с нечеткой логикой на F#
    •    Скачать исходники - 108 Кб Введение Более 15 лет назад разрабатывали проект (Brulé и др., 1995), требовавший экспертную систему, выбирающую подходящий вариант исходя из некоторых основных параметров. Были опробованы несколько подходов, в том числе использование исчисления предикатов (...
  • Нейронные сети на C#
    •    Скачать исходники - 251 Кб•    Скачать демонстрационный проект - 181 Кб Введение История нейронных сетей начинается в 1950-х гг., когда была представлена архитектура простейших нейронных сетей. После начальной работы в области идея нейронных сетей стала весьма популярной. Но затем область...