2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Трёхточечная производная
Сообщение10.09.2012, 19:20 
Аватара пользователя
Делаю небольшую демонстрацию типа "Закон сохранения энергии и принцип наименьшего действия". Тело брошено под углом, движение по параболе и т.п.
Траектория разбита на небольшое число точек, т.к. интерактив.

Нужно считать производные. Для демонстрации сохранения энергии с превосходной точностью работает $$y'(x_k)=\frac{y(x_{k+1})-y(x_{k-1})}{2\Delta x}$$
А вот для действия и лагранжиана всё плохо. Немного помучившись, я понял -
для них производная должна содержать значение функции в самой точке.
Убогое $$y'(x_k)=\frac{y(x_{k})-y(x_{k-1})}{\Delta x}$$ совсем плохо.
Итак, нужна трёхточечная численная формула производной с ненулевым коэффициентом у центрального члена.

 
 
 
 Re: Трёхточечная производная
Сообщение10.09.2012, 19:48 
Аватара пользователя
Lesobrod
Может чуть подробнее распишите что вы делаете и что не так?

(1) $y'(x_k)=\frac{y(x_{k})-y(x_{k-1})}{\Delta x}$
Формула (1) не точна, её лучше записывать так

(2)$y'(x_k-0.5*\Delta x)=\frac{y(x_{k})-y(x_{k-1})}{\Delta x}$
(3)$y'(x_k+0.5*\Delta x)=\frac{y(x_{k+1})-y(x_{k})}{\Delta x}$
Если вы хотите не смещённую то берите (4)

(4) $y'(x_k)=\frac{y(x_{k+1})-y(x_{k-1})}{2\Delta x}$


Цитата:
Итак, нужна трёхточечная численная формула производной с ненулевым коэффициентом у центрального члена.
Такого не существует.

 
 
 
 Re: Трёхточечная производная
Сообщение10.09.2012, 19:51 
Проставив точки с полуцелыми индексами как средние между рядом стоящими, можно потом попробовать посчитать производную так:$$y'(x_k) \approx \frac{y_{k+0{,}5} - y_{k-0{,}5}}{\Delta x} = \frac{y_k + y_{k+1} - y_{k - 1} - y_k}{2\Delta x} = \frac{y_{k+1} - y_{k-1}}{2\Delta x}.$$
Возможно, для некоторых функций такое лучше. (Ещё возможно, что я это где-то видел около конечных разностей — может, это какой-то редкий их тип.)

О, опоздал.

 
 
 
 Re: Трёхточечная производная
Сообщение10.09.2012, 20:16 
Аватара пользователя
Спасибо! Посмотрел на всё и теперь к методу научного тыка можно смело добавить
"метод среднего" :mrgreen: Итак, у нас два выражения для производной. Возьмём их полусумму:$$\frac{1}{2}\left(\frac{y_{k+1}-y_{k-1}}{2\Delta x}+\frac{y_k-y_{k-1}}{\Delta x}\right) = \frac{y_{k+1}+2\cdot y_k-3\cdot y_{k-1}}{4\Delta x}$$
Вот и трёхточечная формула с центральным членом. Для расчёта спутников советовать не буду, но мне подошло! :twisted:

 
 
 
 Re: Трёхточечная производная
Сообщение10.09.2012, 20:55 
$\dfrac{y_{k+1} - y_{k-1}}{2h}$ ведь и получается как арифметическое среднее от $\dfrac{y_{k+1} - y_k}h$ и $\dfrac{y_k - y_{k-1}}h$, зачем ещё одно среднее делать?

 
 
 
 Re: Трёхточечная производная
Сообщение11.09.2012, 10:15 
Lesobrod в сообщении #617132 писал(а):
Возьмём их полусумму:$$\frac{1}{2}\left(\frac{y_{k+1}-y_{k-1}}{2\Delta x}+\frac{y_k-y_{k-1}}{\Delta x}\right) = \frac{y_{k+1}+2\cdot y_k-3\cdot y_{k-1}}{4\Delta x}$$

Это бессмысленно. Второе выражение нехорошо тем, что имеет всего лишь первый порядок точности. Вы его усредняете с более точным (второго порядка) -- и, тем самым, ровно ничего не выигрываете.

 
 
 
 Re: Трёхточечная производная
Сообщение11.09.2012, 10:34 
Аватара пользователя
Согласен. Но мне обязательно нужен центральный член.
Иначе получается, что при изменении значения функции в центральной точке
производная не менятся!

 
 
 
 Re: Трёхточечная производная
Сообщение11.09.2012, 10:50 
Lesobrod в сообщении #617311 писал(а):
мне обязательно нужен центральный член.
Иначе получается, что при изменении значения функции в центральной точке
производная не менятся!

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

 
 
 
 Re: Трёхточечная производная
Сообщение12.09.2012, 23:04 
Интересный вопрос. Когда я пытался придумывать различные методы сплайновой интерполяции, я выяснил что если мы будем оценивать производную в центральной точке через аппроксимацию нечетного количества точек полиномом Лагранжа, то она всегда будет независима от значения функции в центральной точке, хоть по 1001 точке аппроксимируй - такой был для меня немного удивительный факт. Но если оценить по четному количеству точек - например по 4, 6 и т.д., то подозреваю что значения всех точек будут присутствовать. Дело трех минут - построить полином Лагранжа по 4 точкам и взять его производную во второй или третьей точке - это и порядок точности не ухудшит, и значение во всех точках использует.

 
 
 
 Re: Трёхточечная производная
Сообщение17.09.2012, 06:19 
_Ivana в сообщении #618066 писал(а):
если мы будем оценивать производную в центральной точке через аппроксимацию нечетного количества точек полиномом Лагранжа, то она всегда будет независима от значения функции в центральной точке,

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

 
 
 
 Re: Трёхточечная производная
Сообщение17.09.2012, 11:30 
Ну наконец-то Вы заглянули сюда и прокомментировали мое предложение, хотя автор темы пропал и видимо уже не интересуется вопросом.

ЗЫ может быть когда-нибудь я дождусь и вы выступите третейским судьей в споре в моей предложенной задачке по построению сплайна в "Олимпиадных" :)

 
 
 [ Сообщений: 11 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group