2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Интеграл
Сообщение12.06.2010, 08:41 


06/01/10
61
Граждане разбирающиеся!

Не могу сосчитать численно в Maple следующий интеграл:

evalf(Int(sin(x^97+sqrt(x)), x = 0 .. 10)).

Причина, очевидно, в том, что подынтегральная функция очень быстро колеблется при x > 1.

Как можно решить эту проблему? Можно ли сосчитать в других системах компьютерной алгебры?

 Профиль  
                  
 
 Re: Интеграл
Сообщение12.06.2010, 09:46 


28/12/08
74
Понятно, что $\int_0^1\sin(x^{97}+\sqrt{x})=\int_0^1\sin(\sqrt{x})$ с высокой степенью точности. А вот для $\int_1^{10}\sin(x^{97}+\sqrt{x})$ на языке вертится ответить "0", но не рискну утверждать. Я бы проверял предположение о нуле след образом: уменьшил бы степень с 97 до тех значений, при которых maple считает и постепенно увеличивая степень смотрел бы, стремится ли соответствующий инт. к нулю. Естественно, что если стремиться, то полученный результат хорошо бы обосновать.

 Профиль  
                  
 
 Re: Интеграл
Сообщение12.06.2010, 15:14 


06/01/10
61
А как тогда быть с Int(sin(x^97),x=0..10)
???

 Профиль  
                  
 
 Re: Интеграл
Сообщение12.06.2010, 18:44 


28/12/08
74
Вы, вероятно, не поняли. Следует разбить промежуток интегрирования [0,10] на части [0,1], [1,10] и анализировать оба получившихся интеграла с не изменённой подинтегральной ф-цией каждый на своём промежутке. И смотрите мой предыдущий совет.

 Профиль  
                  
 
 Re: Интеграл
Сообщение13.06.2010, 06:16 


06/01/10
61
Нет, я Вас понял.
Просто в первом случае интеграл от 1 до 10 оказывается существенно меньше, чем от 0 до 1, а во втором случае - сравним.
Основная трудность - это вычисление на отрезке от 1 до 10.

 Профиль  
                  
 
 Re: Интеграл
Сообщение13.06.2010, 09:59 


28/12/08
74
Вот теперь я вас не понимаю.
$\int_0^{10}\sin(x^{97}+\sqrt{x})\,dx=\int_0^1\sin(x^{97}+\sqrt{x})\,dx+\int_1^{10}\sin(x^{97}+\sqrt{x})\,dx=\int_0^1\sin(\sqrt{x})\,dx+\int_1^{10}\sin(x^{97}+\sqrt{x})\,dx$
Имеем
1) $\int_0^1\sin(\sqrt{x})\,dx= 0.6023373579$
2) $\int_1^{10}\sin(x^{97}+\sqrt{x})\,dx$ подлежащий исследованию.
то-есть два интеграла и никаких случаев.

PS
где вы такую каку отхватили?

-- Вс июн 13, 2010 11:06:09 --

сколько точных знаков после запятой вам надо?

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


11/01/06
3824
Обозначим $f(x)=x^{97}+\sqrt x$. Тогда при $1\le A\le B$ выполнено
$$\left|\int_A^B\sin f(x)\,\mathrm dx\right|=\left|-\int_A^B\frac{\mathrm d\cos f(x)}{f'(x)}\right|=\left|-\left.\frac{\cos f(x)}{f'(x)}\right|_{x=A}^B+\int_A^B\cos f(x)\,\mathrm d\left(\frac1{f'(x)}\right)\right|\le$$
$$\le\frac1{f'(A)}+\frac1{f'(B)}+\int_A^B\left|\mathrm d\left(\frac1{f'(x)}\right)\right|=\frac2{f'(A)}.$$
В частности, если заменить верхний предел интегрирования на $1.1$, то погрешность будет меньше $2/(97\cdot1.1^{96})<2.2\cdot10^{-6}$. Попробуйте посчитать с таким верхним пределом.

Тему можно развить дальше. Пусть $f(x)=x^{97}+\sqrt x$, $g(x)$ --- любая гладкая функция. Тогда
$$\int g(x)\mathrm e^{\mathrm if(x)}\mathrm dx=\int\frac{g(x)}{\mathrm if'(x)}\,\mathrm d\mathrm e^{\mathrm if(x)}=\frac{g(x)}{\mathrm if'(x)}\mathrm e^{\mathrm if(x)}+\mathrm i\int\mathrm e^{\mathrm if(x)}\mathrm d\left(\frac{g(x)}{f'(x)}\right).$$
Соответственно, если положить $g_0(x)=1$, $g_{n+1}(x)=\mathrm i\cdot\frac{\mathrm d}{\mathrm dx}\left(\frac{g_n(x)}{f'(x)}\right)$, то нужный интеграл будет с высокой точностью равен мнимой части следующего выражения (upd. формула поправлена)
$$\frac{\mathrm i\mathrm e^{\mathrm if(1)}}{f'(1)}\sum_{n=0}^{N}g_n(1)+\int_1^{10}g_{N+1}(x)\mathrm e^{\mathrm if(x)}\mathrm dx.$$
При этом $\mathrm i^ng_n(x)$ положительны и убывают всё быстрее и быстрее, по крайней мере при небольших $n$ ($\mathrm i^ng_n(x)$ ведёт себя как $c_nx^{-97n}$, а постоянные $c_n$ растут примерно как $n!$). Поэтому если в последнем интеграле поменять верхний предел интегрирования на $A$, то ошибка будет меньше
$$\int_A^\infty|g_{N+1}(x)|\,\mathrm dx=\frac{|g_N(A)|}{f'(A)}\approx\frac{c_N}{97}A^{-97N-96}.$$
Т.о., чем больше $N$, тем меньше можно брать промежуток интегрирования для требуемой точности. Ещё удобно сделать замену $t=x^{97}$.

Пример. Возьмём $N=1$. Тогда в приближённом равенстве
$$\int_1^{10}\sin f(x)\,\mathrm dx\approx\frac{2}{195}\cos2+\frac{74494}{7414875}\sin2+\frac1{97}\int_1^{330}t^{-96/97}\left(\frac{f'''(x)}{f'(x)^3}-\frac{3f''(x)^2}{f'(x)^4}\right)\sin(t+t^{1/194})\,\mathrm dt,\qquad x=t^{1/97},$$
погрешность меньше $10^{-7}$.

 Профиль  
                  
 
 Re: Интеграл
Сообщение13.06.2010, 10:55 


06/01/10
61
В случае $\int \sin(\sqrt{x}+x^{97}) dx$ важно следующее:

$\int_0^1 \sin(\sqrt{x}+x^{97}) dx >> \int_1^{10} \sin(\sqrt{x}+x^{97}) dx $.

В случае же без корня это не так: например, $\frac{\int_1^{10} \sin(x^{15}) dx}{\int_0^1 \sin(x^{15}) dx} = 0.6004...$.

А вообще данный интеграл я привёл лишь для примера.
Впервые с проблемой интегрирования быстро колеблющихся функций я столкнулся при расчёте дифракции Френеля.

 Профиль  
                  
 
 Re: Интеграл
Сообщение13.06.2010, 19:30 


28/12/08
74
RIP в сообщении #330677 писал(а):
... нужный интеграл будет с высокой точностью равен мнимой части следующего выражения
$$\frac{\mathrm e^{\mathrm if(1)}}{\mathrm if'(1)}\sum_{n=0}^{N}g_n(1)+\int_1^{10}g_{N+1}(x)\mathrm e^{\mathrm if(x)}\mathrm dx.$$
У вас здесь опечатка. Перед первым слагаемым следует поставить минус. Но на последующие выкладки это не влияет. А вообще - красиво!!! В результате, интеграл от 1 до 10 у меня оказался равным 0.00051022. Yakov, что получилось у вас?
Yakov в сообщении #330679 писал(а):
В случае $\int \sin(\sqrt{x}+x^{97}) dx$ важно следующее:
$\int_0^1 \sin(\sqrt{x}+x^{97}) dx >> \int_1^{10} \sin(\sqrt{x}+x^{97}) dx $.
В случае же без корня это не так: например, $\frac{\int_1^{10} \sin(x^{15}) dx}{\int_0^1 \sin(x^{15}) dx} = 0.6004...$.
Не совсем понимаю, чем это важно? Совершенно очевидно, что без корня это не так. Во-первых, очевидно, что при достаточно больших $n$ имеем $\int_0^1 \sin(x^n+\sqrt{x})\,dx\approx\int_0^1 \sin(\sqrt{x})\,dx$, а во-вторых выкладки RIP-а показали, что при этом же условии $\int_1^A \sin(x^n+\sqrt{x})\,dx\approx0$. А если без корня, то имеем: $$\int_0^1 \sin(x^n)\,dx\approx0,$$ $$\int_1^A \sin(x^n)\,dx\approx0.$$ Естественно, что при стремлении $n\to\infty$ неопределённость $0/0$ может дать всё что угодно.
PS
Не совсем понятно, что именно вы исследуете для быстро колеблющихся функций. Но на всякий случай замечу, что $\int_a^bf(x)\sin(nx)\,dx\to0$ при $n\to0$.

 Профиль  
                  
 
 Re: Интеграл
Сообщение13.06.2010, 21:42 
Заслуженный участник
Аватара пользователя


11/01/06
3824
godsdog в сообщении #330880 писал(а):
У вас здесь опечатка.
Да, писал в спешке, поэтому зевнул. Спасибо, поправил.

godsdog в сообщении #330880 писал(а):
А если без корня, то имеем: $$\int_0^1 \sin(x^n)\,dx\approx0,$$ $$\int_1^A \sin(x^n)\,dx\approx0.$$ Естественно, что при стремлении $n\to\infty$ неопределённость $0/0$ может дать всё что угодно.
Всё-таки в данном случае получается не совсем что угодно. При больших $n$
$$\int_0^1\sin x^n\,\mathrm dx\sim\frac1n\int_0^1\frac{\sin t}t\,\mathrm dt,$$
$$\int_1^A\sin x^n\,\mathrm dx\sim\frac1n\int_1^\infty\frac{\sin t}t\,\mathrm dt\qquad (A>1),$$
поэтому
$$\frac{\int_1^A\sin x^n\,\mathrm dx}{\int_0^1\sin x^n\,\mathrm dx}\to\frac{\int_1^\infty\frac{\sin t}t\,\mathrm dt}{\int_0^1\frac{\sin t}t\,\mathrm dt}=0.66\ldots.$$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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