2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 12:56 
Здравствуйте
Хочу разобраться с вопросом. Пусть есть функция, заданная на равномерной сетке $y_n=y(n h)$. Я хочу произвести выполнить n-кратное дифференцирование и n-кратное интегрирования и получить исходную функцию с точностью до $O(h)$ . Для этого я дифференцирую по формуле: $y'_n = \frac{\frac{1}{12} y_{n-2} - \frac{2}{3}  y_{n-1} + \frac{2}{3} y_{n+1}- \frac{1}{12}y_{n+2}}{h} + O(h^4)$ (просто разложение в ряд Тейлора) и интегрирую по составной формуле Симпсона: Y_n=$\int\limits_0^{nh} y(x) dx=\frac{h}{3}\sum\limits_{k=1,2}^{n-1}(y_{n-1}+4y_{n}+y_{n+1})+O(h^4)$ (суммирование от 1 с шагом 2). Возможную потерю константы при дифференцировании-интегрировании я ликвидирую, запоминая среднее значение $\langle y_n \rangle$ до дифференцирования и приводя среднее после к интегрирования к исходному среднему.
Как я понимаю, получив таким образом $y^{(3)}_n$ из $y_n$ и проинтегрировав её три раза, я должен получать $y_n+O(h)$ (при этом, конечно, количество точек сократиться на 6 с каждого конца).
Для проверки я использую функцию $y_n = e^{-\frac{(nh)^2}{2\sigma^2}}$ (1000 точек, $\sigma=500$) и всё работает вполне прилично. Однако, если я добавляю к функции нормально-распределённый шум с дисперсией $1$ и амплитудой $5\cdot10^{-3} $ , то на 3-ем интегрировании все ломается и я получаю какую-то выпуклую вниз функцию. Подскажите, пожалуйста, что я делаю не так.

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 13:33 
BasilKrzh в сообщении #934132 писал(а):
Однако, если я добавляю к функции нормально-распределённый шум с дисперсией $1$ и амплитудой $5\cdot10^{-3} $

а Вы как добавляете, к значениям функции прибавляете значения шума?

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 13:38 
Да, получаю немного зашумлённую исходную кривую

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 13:45 
Аватара пользователя
BasilKrzh в сообщении #934132 писал(а):
Однако, если я добавляю к функции нормально-распределённый шум с дисперсией $1$ и амплитудой $5\cdot10^{-3} $ , то на 3-ем интегрировании все ломается и я получаю какую-то выпуклую вниз функцию. Подскажите, пожалуйста, что я делаю не так.
Почему получение какой-то выпуклой вниз функции заставляет думать, что что-то не так?

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 13:49 
а без квадратов в степени можете попробовать?

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 14:20 
TOTAL в сообщении #934149 писал(а):
нормально-распределённый шум с дисперсией $1$ и амплитудой $5\cdot10^{-3} $

Что это такое? Амплитуда $5\cdot10^{-3} $ это постоянная составляющая сигнала? У Гауссовского шума она должна быть ноль. Он характеризуется дисперсией и спектральной плотностью.

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 15:26 
Цитата:
Почему получение какой-то выпуклой вниз функции заставляет думать, что что-то не так?

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

Цитата:
а без квадратов в степени можете попробовать?

Да можно, тот же результат
Если я просто возьму гауссов шум, что после 2х дифференцирований-интегрирований появляется небольшая (по сравнению с дисперсией шума) линейная составляющая, после 3х - существенная параболическия

Цитата:
Что это такое? Амплитуда $5\cdot10^{-3} $ это постоянная составляющая сигнала? У Гауссовского шума она должна быть ноль. Он характеризуется дисперсией и спектральной плотностью.

Да ну знаю я, чем характеризуется шум :-) . Нормальный (гауссов) шум с единичной дисперсией, умноженный на 0.005 и сложенный и исходной функцией. Просто чтобы шум был существенно меньше, чем значения функции. Мне такой проще сгенерить в Origin

-- 21.11.2014, 16:32 --

Если вдруг кому не лень, вот MatLab овский файл

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 15:56 
BasilKrzh в сообщении #934193 писал(а):
Если я просто возьму гауссов шум, что после 2х дифференцирований-интегрирований появляется небольшая (по сравнению с дисперсией шума) линейная составляющая, после 3х - существенная параболическия

я почему про степени спросил, если $\operatorname{const}\neq0$ начать интегрировать - в бесконечности "прямой угол" будет на $1$.
если продифференцировать $y=x$ $5$ раз, а потом проинтегрировать $5$ раз то либо вы должны запомнить где-то все константы предыдущего дифференцирования, либо при ненулевых константах интегрирования будет не $y=x$.
то есть на понижение/повышение степени в функции, Ваш график полученный после интегрирования должен как-то реагировать.

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 10:32 
upgrade в сообщении #934206 писал(а):
если продифференцировать $y=x$ $5$ раз, а потом проинтегрировать $5$ раз то либо вы должны запомнить где-то все константы предыдущего дифференцирования, либо при ненулевых константах интегрирования будет не $y=x$.

ну конечно, я же написал
BasilKrzh в сообщении #934132 писал(а):
Возможную потерю константы при дифференцировании-интегрировании я ликвидирую, запоминая среднее значение $\langle y_n \rangle$ до дифференцирования и приводя среднее после к интегрирования к исходному среднему.

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 10:53 
понятно, что исходную функцию вы не получите, потому что после добавления шума она не $y_n = e^{-\frac{(nh)^2}{2\sigma^2}}$.
лично мне не понятно, почему выпуклая вниз. попробуйте с разными функциями попроще.

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 10:54 
Аватара пользователя
Функция попроще - это тождественный нуль, например. Вот с ней что будет?

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 11:40 
Аватара пользователя

(Оффтоп)

BasilKrzh в сообщении #934193 писал(а):
Цитата:
Почему получение какой-то выпуклой вниз функции заставляет думать, что что-то не так?

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

Чтобы мысли о том, что что-то не так, исчезли, перестаньте рассчитывать получить исходную функцию.

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 11:50 
При численном дифференцировании вообще-то должна вылезать дополнительная ошибка порядка $O(f\cdot \varepsilon/h)$, ($h$ - шаг сетки, $\varepsilon$ - характерная относительная погрешность представления чисел). Когда Вы добавляете шум, Вы существенно увеличиваете модуль первой производной, поэтому уже на втором дифференцировании, скорее всего, погрешность определяется в основном этим фактором, а не погрешностью разностной аппроксимации. В итоге, добравшись до $n$-ой производной, Вы имеете не самый плохой датчик случайных чисел, который при возвращении назад дает Вам для $(n-1)$-ой производной линейную зависимость, на $(n-2)$-ой - квадратичную и т.д.

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение26.11.2014, 17:52 
ИСН в сообщении #935848 писал(а):
Функция попроще - это тождественный нуль, например. Вот с ней что будет?

останется 0, у неё все производные 0 и интегралы 0.

TOTAL в сообщении #935872 писал(а):
Чтобы мысли о том, что что-то не так, исчезли, перестаньте рассчитывать получить исходную функцию

И как мне это поможет понять, почему я не получаю исходную функцию (с некоторой точностью, которую могу оценить)?

Pphantom в сообщении #935877 писал(а):
При численном дифференцировании вообще-то должна вылезать дополнительная ошибка порядка $O(f\cdot \varepsilon/h)$, ($h$ - шаг сетки, $\varepsilon$ - характерная относительная погрешность представления чисел). Когда Вы добавляете шум, Вы существенно увеличиваете модуль первой производной, поэтому уже на втором дифференцировании, скорее всего, погрешность определяется в основном этим фактором, а не погрешностью разностной аппроксимации. В итоге, добравшись до $n$-ой производной, Вы имеете не самый плохой датчик случайных чисел, который при возвращении назад дает Вам для $(n-1)$-ой производной линейную зависимость, на $(n-2)$-ой - квадратичную и т.д.

Я вполне понимаю ваши соображения, но как бы мне всё-таки осуществить желаемое? Вообще, изначально была идея найти способ вычесть заданную полиномиальную составляющую: продифференцировать нужное число раз, а затем проинтегрировать, обнуляя каждый раз среднее...

 
 
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение26.11.2014, 18:18 
BasilKrzh в сообщении #936405 писал(а):
Я вполне понимаю ваши соображения, но как бы мне всё-таки осуществить желаемое?
Если желаемое - это получение исходной функции после многократного дифференцирования и интегрирования, то никак. В общем случае эта задача не решается.

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

Вы пытаетесь вычистить полиномиальную составляющую из чего? Шума, периодического сигнала, еще чего-то? Подобные методы существуют, но надо бы знать, к чему их педполагается применять. Так что излагайте все полностью.

 
 
 [ Сообщений: 21 ]  На страницу 1, 2  След.


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