2014 dxdy logo

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

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




На страницу 1, 2, 3  След.
 
 Интеграл численно
Сообщение25.06.2022, 12:30 
Аватара пользователя
Спросили меня друзья, как лучше посчитать численно интеграл
$$I(\varphi)=\int_0^1{\bf I}\left\{\frac{\cos(\ln t+\varphi)}{t}>1\right\}\,dt,\quad \varphi\in [0,2\pi].$$
На данный момент считали тупо методом прямоугольников, с мелким разбиением отрезка. Но что странно: функция резко растет на отрезке $\varphi$ от 5.84 до 5.85, как будто она там вообще разрывная, может быть, какой-то вычислительный глюк. Хорошо бы еще выразить производную по $\varphi$, но не очень понимаю, как.

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 12:37 
А что такое ${\bf I}\left\{...\right\}$?

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 12:40 
Аватара пользователя
Это индикатор, или индикаторная функция. Эта штука равна единице, если условие в скобках выполняется, и нулю, если нет.

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 12:43 
Тогда интеграл можно заменить суммой ряда и её считать численно.
(Суммировать длины отрезков, где дробь больше 1.)

alisa-lebovski в сообщении #1558436 писал(а):
функция резко растет на отрезке $\varphi$ от 5.84 до 5.85, как будто она там вообще разрывная
Прям сильно расти она не может. Она же не больше 1.

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 12:53 
Аватара пользователя
zykov в сообщении #1558441 писал(а):
Суммировать длины отрезков, где дробь больше 1.
Ага, еще бы знать длины этих отрезков...
zykov в сообщении #1558441 писал(а):
Прям сильно расти она не может.
Растет примерно в 10 раз, от одной сотой до одной десятой. До этого меняется более плавно. А потом как с цепи спустили...

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 13:05 
Там у уравнения $\cos(\ln t+\varphi)=t$ появляются еще два корня.

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 13:06 
alisa-lebovski в сообщении #1558442 писал(а):
еще бы знать длины этих отрезков...
Я бы перешел к переменной $q=-\ln t$.
Численно ищем корни уравнения $\cos(-q+\varphi)=e^{-q}$ и суммируем значения интегралов $\int_a^b e^{-q} \; dq = e^{-a}-e^{-b}$ по этим отрезкам.
По мере роста $q$ корни этого уравнения очень быстро приближаются к корням $\cos(-q+\varphi)=0$, чем можно воспользоватся, чтобы считать более короткую сумму и приближенно оценить хвост аналитически.

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 13:11 
tolstopuz в сообщении #1558444 писал(а):
появляются еще два корня.
Да, при 5.84 косинус почти касается эксаоненты и далее при росте возникает новый отрезок вблизи нуля (по $q$), длина которого поначалу быстро растёт (но естественно ограничена).

Pphantom в сообщении #1558446 писал(а):
Похоже, действительно численный глюк
Да нет там глюков. Индикатор всегда не больше 1, а длины отрезков около нуля очень малы и в какой-то момент их вообще можно отбросить без заметной потери точности.

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 13:20 
zykov в сообщении #1558447 писал(а):
Да нет там глюков.
Да, уже сам понял (и сообщение удалил).

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 13:37 
Там для метода прямоугольников проблему создаёт только разрывность функции индикатора.
Но это не критично. Всё равно ошибка в пределах наихудшей оценки. Просто ошибка хуже чем можно было бы ожидать для гладкой функции.

-- 25.06.2022, 13:42 --

alisa-lebovski
В любом матпакете постройте графики функций $\cos(-q+\varphi)$ и $e^{-q}$ (например от 0 до 20) и посмотрите, где они пересекаются и где косинус больше экспоненты.
Поварьируйте $\varphi$ и посмотрите что меняется, особено около 5.84-5.86.

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

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 15:44 
Аватара пользователя
Спасибо, попробуем.

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 16:45 
zykov в сообщении #1558441 писал(а):
Тогда интеграл можно заменить суммой ряда

..и ряд этот должен сходиться очень быстро. У меня получилось
$$I(\varphi) \sim e^{-\varphi}\sum_{k=1}^\infty b_k(\varphi) e^{-2\pi k}, \quad 0\le b_k(\varphi) < C

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 17:45 
Аватара пользователя
$$f\left(\varphi\right)=\int\limits_{0}^{+\infty}{\operatorname{I}\left(\cos\left(x-\varphi\right)-\exp\left(-x\right)>0\right)\exp\left(-x\right)dx}$$ $$\cos\left(\xi_n-\varphi\right)-\exp\left(-\xi_n\right)=0$$ $$\left.\cos\left(x-\varphi\right)-\exp\left(-x\right)\right|_{x<0}<\cos\left(\varphi\right)-1\le 0\Rightarrow\xi_0\ge0$$ $$\begin{matrix}\begin{matrix}-\sin\left(\xi_{2k}-\varphi\right)+\exp\left(-\xi_{2k}\right)>0\\-\sin\left(\xi_{2k+1}-\varphi\right)+\exp\left(-\xi_{2k+1}\right)<0\\ \end{matrix},&k=0,1,\ldots\\ \end{matrix}$$ $$f\left(\varphi\right)=\sum\limits_{n=0}^\infty\left(-1\right)^n\exp\left(-\xi_n\right)$$

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 18:24 
Аватара пользователя
Чего-то я тут не понимаю. Если у нас интеграл от индикаторной функции, то он равен сумме длин отрезков, на которых аргумен положителен. При этом знаменателем можно на данном отрезке интегрирования пренебречь, он положителен. То есть надо искать отрезки, на которых положителен косинус, то есть когда $2\pi n<(\ln t+\varphi)<\pi+2\pi n$. И суммировать их длины. Или я не увидел чего-то важного?

 
 
 
 Re: Интеграл численно
Сообщение25.06.2022, 18:29 
Аватара пользователя
Внутри скобок условие $>1$, а не $>0$.

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


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