Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Производная в точке


Автор: MaCC 28.5.2006, 12:40
Как найти производную в точке з помощью формули тейлора. 

Автор: esperant0 28.5.2006, 13:42
считаешь производную по определению
 

Автор: MaCC 28.5.2006, 14:01
Цитата

считаешь производную по определению


Ничего нету, только функция. Например f(x)=x*x. Найти f'(2). 

Автор: esperant0 28.5.2006, 15:06
y=x^x

ln (y) =xln(x)

berem proizvodnuju ot obeih 4astej uravneniya.


!\y *y'=lnx+1
y'=(lnx+1)y
y'=(lnx+!)x^x 

Автор: maxim1000 28.5.2006, 15:28
Цитата(MaCC @  28.5.2006,  13:01 Найти цитируемый пост)
Ничего нету, только функция.

ну как же ничего нету, если есть функция? smile
вопрос в том, в каком виде она задана
Цитата(esperant0 @  28.5.2006,  14:06 Найти цитируемый пост)
y=x^x

думаю, имелось в виду умножение... 

Автор: Aloha 28.5.2006, 17:22
На мой взгляд, варианта два
1-й
Вычислять производную аналитически (руками на бумажке) и, затем находить ее значение в точке. Правда при этом возникает вопрос, какое отношение это имеет к алгоритмам.
2-й
Исходить из того, что производная дифференцируемой в точке a функции есть
Цитата
… предел отношения приращения функции к приращению ее аргумента при стремлении приращения аргумента к нулю (если таковой предел существует). 

При таком подходе надо создавать итерационный алгоритм нахождения такого предела.  

Автор: nworm 29.5.2006, 01:23
Непонятно, что надо сделать.
1. Можно считая производную функцией, записать формулу Тейлора. Только зачем?
2. Применяешь какой-нибудь численный метод.
Например, y'(x)=(y(x+h)-y(x))/h (приближённо равно).
3. Применяешь MathCAD smile  

Автор: popovda 12.6.2006, 22:30
Вообще говоря вычисление численной производной в точке - операция математически некорректная, а так:
Пусть надо вычислить производную функции f(x) в точке x0, тогда ее можно аппроксимировать следующими простейшими 
конечными разностями:
1. Правая (из матана): 
        f(x0+h) - f(x0)
----------------------------
                h

2. Левая
       f(x0) - f(x0-h)
----------------------------
                h

3. Центральная - лучше всего для большинства методов
       f(x0+h) - f(x0-h)
----------------------------
              2*h

Рекомендую НЕ БРАТЬ h слишком мелким.
Если переменные имеют тип float в C (или real в Паскале, real(4) в Фортране),
то h ~ 10^-3 ... 10^-4
Если переменные имеют тип double ( double, real(8) ),
то h ~ 10^-7...10^-8
Не меньше!!!

Можно выписать и другие конечные разности, но в 90% случаев хватает этих.


 

Автор: maxim1000 18.6.2006, 16:25
обсуждения потнятия "некорректность" применительно к машинным вычислениям - в этой теме:
http://forum.vingrad.ru/index.php?showtopic=100871&st=0 

Автор: Cr@$h 9.7.2006, 18:21
Цитата(esperant0 @  28.5.2006,  14:42 Найти цитируемый пост)
считаешь производную по определению

Думаю, автору необходимо применить именно формулу Тейлора.

Цитата(esperant0 @  28.5.2006,  16:06 Найти цитируемый пост)
y=x^x

ln (y) =xln(x)

berem proizvodnuju ot obeih 4astej uravneniya.


!\y *y'=lnx+1
y'=(lnx+1)y
y'=(lnx+!)x^x  

Как-то наивно выглядит: взять производную от x^x не можем, а от lnx+1 почему берём без проблем. Тогда уж проще по определению -- результат то будет тот же.

Цитата(maxim1000 @  28.5.2006,  16:28 Найти цитируемый пост)
ну как же ничего нету, если есть функция? 
вопрос в том, в каком виде она задана

Думаю, она задана как-то. Алгоритмически то есть: значение функции возвращает процедура, которую можно менять, сколько душе будет угодно. Отсюда алгоритм может использовать только значения функции в каких-то точках.

Цитата(Aloha @  28.5.2006,  18:22 Найти цитируемый пост)
Вычислять производную аналитически (руками на бумажке) и, затем находить ее значение в точке. 

Похоже, человеку аналитика не подходит.

Цитата(Aloha @  28.5.2006,  18:22 Найти цитируемый пост)
Исходить из того, что производная дифференцируемой в точке a функции есть

Цитата

… предел отношения приращения функции к приращению ее аргумента при стремлении приращения аргумента к нулю (если таковой предел существует).


При таком подходе надо создавать итерационный алгоритм нахождения такого предела.  

Постепенно уменьшать шаг что-ли? smile 

Цитата(nworm @  29.5.2006,  02:23 Найти цитируемый пост)
Непонятно, что надо сделать.

Наверное, построить алгоритм вычисления производной функции в точке, который использует понятие формулы Тейлора. Более того, именно такие алгоритмы уже предложил popovda. Чтобы их получить, достаточно положить в формуле Тейлора все члены равными нулю, начиная, например, со второй производной. Дальше вопрос стоит только в выборе точки x0.
Кому интересно узнать подробности, как же из формулы Тейлора вытекают предложенные popovda формулы, прошу пробежаться по двум с небольшим станицам книги Кудрявцева "Курс математического анализа", которые я прикрепил к посту.  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)