2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 12:56 


02/06/12
70
Здравствуйте
Хочу разобраться с вопросом. Пусть есть функция, заданная на равномерной сетке $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 


07/08/14
4231
BasilKrzh в сообщении #934132 писал(а):
Однако, если я добавляю к функции нормально-распределённый шум с дисперсией $1$ и амплитудой $5\cdot10^{-3} $

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

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 13:38 


02/06/12
70
Да, получаю немного зашумлённую исходную кривую

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 13:45 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
BasilKrzh в сообщении #934132 писал(а):
Однако, если я добавляю к функции нормально-распределённый шум с дисперсией $1$ и амплитудой $5\cdot10^{-3} $ , то на 3-ем интегрировании все ломается и я получаю какую-то выпуклую вниз функцию. Подскажите, пожалуйста, что я делаю не так.
Почему получение какой-то выпуклой вниз функции заставляет думать, что что-то не так?

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


07/08/14
4231
а без квадратов в степени можете попробовать?

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 14:20 


13/08/14
350
TOTAL в сообщении #934149 писал(а):
нормально-распределённый шум с дисперсией $1$ и амплитудой $5\cdot10^{-3} $

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

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 15:26 


02/06/12
70
Цитата:
Почему получение какой-то выпуклой вниз функции заставляет думать, что что-то не так?

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

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

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

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

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

-- 21.11.2014, 16:32 --

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

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение21.11.2014, 15:56 


07/08/14
4231
BasilKrzh в сообщении #934193 писал(а):
Если я просто возьму гауссов шум, что после 2х дифференцирований-интегрирований появляется небольшая (по сравнению с дисперсией шума) линейная составляющая, после 3х - существенная параболическия

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

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 10:32 


02/06/12
70
upgrade в сообщении #934206 писал(а):
если продифференцировать $y=x$ $5$ раз, а потом проинтегрировать $5$ раз то либо вы должны запомнить где-то все константы предыдущего дифференцирования, либо при ненулевых константах интегрирования будет не $y=x$.

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

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 10:53 


07/08/14
4231
понятно, что исходную функцию вы не получите, потому что после добавления шума она не $y_n = e^{-\frac{(nh)^2}{2\sigma^2}}$.
лично мне не понятно, почему выпуклая вниз. попробуйте с разными функциями попроще.

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 10:54 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Функция попроще - это тождественный нуль, например. Вот с ней что будет?

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


23/08/07
5500
Нов-ск

(Оффтоп)

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

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

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

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение25.11.2014, 11:50 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Многократное численное дифференцирование и интегрирование
Сообщение26.11.2014, 17:52 


02/06/12
70
ИСН в сообщении #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 
Заслуженный участник


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

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group