2014 dxdy logo

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

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




 
 Помогите взять интеграл
Сообщение20.10.2011, 11:06 
Доброго времени суток уважаемые участники!
Помогите взять интеграл

$ \int { \frac { \sqrt { x^2+ \frac{1}{(1+k x)^2}}} {(1+k x)}}dx $

Пробовал здесь http://integrals.wolfram.com/index.jsp - получается что-то страшное.
Подозреваю, что нужно раскладывать в ряд Тейлора, тогда в окрестности какой точки?
Или возможно только численное решение?

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 11:12 
Аватара пользователя
Не вижу причин, чтобы он брался в элементарных. Только через ужас эллиптических функций или численно.

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 12:11 
Аватара пользователя
Численно -- пределы нужны

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 13:14 
Аватара пользователя
Я функцию разложил в ряд, взял интеграл. Получилось очень громоздко, но зато без спецфункций. Тут важно знать, какой участок нужно хорошо этим рядом аппроксимировать (ближе к нулю или бесконечности).

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 14:30 
Х примерно от 4 до 100
точнее
$ \int\limits_{0}^{a} f(x) dx$
$a \in (4,100) $

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 17:34 
Аватара пользователя
Вам нужен для эффективного численного расчёта этого интеграла при различных $k$ и $a$? Тогда два вопроса:
Что известно про параметр $k$? (Про параметр $a$ Вы написали.)
Какова необходимая точность (абсолютная или относительная)?

-- 20.10.2011, 18:37 --

Вам нужен метод для ... ?

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 19:32 
Нужно писать программу что-бы красиво считать эту функцию, численно это крайний вариант.
$ 0 < k < 0.3$ это примерно.
Точночть пусть $10^{-3}$
Представляю себе так: если разложить в ряд Маклорена, то точность будет приемлемая недалеко от нуля. Поэтому надо раскладывать в ряды Тейлора.
Если других вариантов нет, то так понимаю, что нужно уметь получать n-ю производную что-бы оценивать радиус сходимости и остаточный член. Как этого сделать пока не понятно.
В общем хотелось бы еще понять есть ли критические значения у параметров.

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 19:38 
Аватара пользователя
При k=0.2 Вольфрам дает 418.632
http://www.wolframalpha.com/input/?i=in ... D4..100%29

Разложил подинтегральную функцию в ряд Тейлора в точке x=52 при k=0.2 , взял интеграл и получил:
Изображение

Если степень полинома не 30, а будет выше, то точность повысится.

Если интегрировать от 0 до 4, то Вольфрам дает 6,08114
Если от 0 до 100, то 424,713
Это при k=0.2

Полином, который я получил дает соответственно: 5,693 и 424,318
Что, конечно, естественно. Ведь ряд составлен относительно x=52

Если степень полинома задать примерно 100, то, думаю, точность будет нормальной.

 
 
 
 Re: Помогите взять интеграл
Сообщение20.10.2011, 21:05 
Аватара пользователя
Основная трудность с точки зрения хорошей точности аппроксимации подынтегральной функции ее рядом Тейлора - это различное поведение функции $\sqrt { x^2+ \frac{1}{(1+k x)^2}}$ в окрестности нижнего ($x=0$) и верхнего $x=a$ пределов интегрирования.
Первое что приходит в голову - разбить область интегрирования на 2 части: $[0;a]=[0;m]\cup [m;a]$, где $m=m(k)=2/(1+\sqrt{1+4k})$ - точка в которой выполняется равенство двух членов подкоренного выражения: $x^2=1/(1+kx)^2$.
Далее для подынтегрального выражения в первой области использовать разложение
$\frac{1}{1+kx}\sqrt { x^2+ \frac{1}{(1+k x)^2}}=\frac{1}{(1+kx)^2}\sqrt{1+x^2(1+k x)^2}=\\=
\sum_{n=0}^\infty \begin{pmatrix} 1/2 \\ n \end{pmatrix} x^{2n} (1+k x)^{2n-2}$. А для подынтегрального выражения во второй области использовать разложение
$\frac{1}{1+kx}\sqrt { x^2+ \frac{1}{(1+k x)^2}}=\frac{x}{1+kx}\sqrt{1+\frac{1}{x^2(1+k x)^2}}=\\=
\sum_{n=0}^\infty \begin{pmatrix} 1/2 \\ n \end{pmatrix} x^{-2n+1} (1+k x)^{-2n-1}$

А дальше можно интегрировать почленно ряды - первый на интервале $[0;m]$, а второй - на интервале $[m;a]$(ограничившись несколькими десятками членов) - получаться формулы содержащие параметры $k$ и$a$.

 
 
 
 Re: Помогите взять интеграл
Сообщение21.10.2011, 21:02 
Спасибо!
AlexValk: выглядит красиво, то что нужно. Пока не понял как получилось разложение в ряд, постараюсь разобраться.

 
 
 
 Re: Помогите взять интеграл
Сообщение22.10.2011, 00:52 
Аватара пользователя
Был использован биномиальный ряд $(1+y)^{1/2}=\sum_{n=0}^\infty \left(\begin{smallmatrix}1/2\\ n \end{smallmatrix}\right)y^n$, сходящийся при $\left|y\right|<1$. Биномиальные коэффициенты $\left(\begin{smallmatrix}1/2\\ 0 \end{smallmatrix}\right)=1,\; \left(\begin{smallmatrix}1/2\\ 1 \end{smallmatrix}\right)=1/2,\; \left(\begin{smallmatrix}1/2\\ n \end{smallmatrix}\right)=\frac{(-1)^{n+1}(2n-3)!!}{n!2^n}$, $n\geqslant 2$. При программировании удобна рекуррентная формула $\left(\begin{smallmatrix}1/2\\ n \end{smallmatrix}\right)=\left(\frac{3}{2n}-1\right)\left(\begin{smallmatrix}1/2\\ n-1 \end{smallmatrix}\right)$.
На первом участке $\left[0;m\right]$ взято $y=x^2(1+kx)^2$, а на втором участке $\left[m;a\right]$ - $y=\frac{1}{x^2(1+kx)^2}$. Участки выбраны так, что на каждом из них $\left|y\right|<1$ (кроме одной точки $x=m$, где $y=1$) и соответствующие ряды сходятся, что позволяет надеяться на получение удовлетворительной аппроксимации после интегрирования.

 
 
 
 Re: Помогите взять интеграл
Сообщение22.10.2011, 19:48 
Спасибо! По моему красивое решение, попробую вставить в программу.

 
 
 
 Re: Помогите взять интеграл
Сообщение20.11.2011, 21:40 
AlexValk: похоже что работает.
Только не понял как получилось
$m=m(k)=2/(1+\sqrt{1+4k})$
Из квадратного уравнения
$m(k)=(-1+\sqrt{1+4k})/(2k)$
Но числа вроде получаются одинаковые.
Спасибо еще раз!

 
 
 
 Re: Помогите взять интеграл
Сообщение27.11.2011, 14:13 
Аватара пользователя
Получилось умножением на сопряженное
$$\frac{\sqrt{1+4k}-1}{2k}=\frac{(\sqrt{1+4k}-1)(\sqrt{1+4k}+1)}{2k(\sqrt{1+4k}+1)}=\frac{(1+4k)-1}{2k(\sqrt{1+4k}+1)}=\frac{2}{\sqrt{1+4k}+1}$$

 
 
 [ Сообщений: 14 ] 


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