2014 dxdy logo

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

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




 
 Интеграл
Сообщение12.06.2010, 08:41 
Граждане разбирающиеся!

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

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

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

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

 
 
 
 Re: Интеграл
Сообщение12.06.2010, 09:46 
Понятно, что $\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 
А как тогда быть с Int(sin(x^97),x=0..10)
???

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

 
 
 
 Re: Интеграл
Сообщение13.06.2010, 06:16 
Нет, я Вас понял.
Просто в первом случае интеграл от 1 до 10 оказывается существенно меньше, чем от 0 до 1, а во втором случае - сравним.
Основная трудность - это вычисление на отрезке от 1 до 10.

 
 
 
 Re: Интеграл
Сообщение13.06.2010, 09:59 
Вот теперь я вас не понимаю.
$\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 
Аватара пользователя
Обозначим $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 
В случае $\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 
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 
Аватара пользователя
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 ] 


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