Difference between revisions of "Числено интегриране"

From Ilianko
(Created page with "В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на опр...")
 
 
(152 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== ==
 
В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на определен интеграл. Понятието се използва и при численото решаване на диференциални уравнения.
 
В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на определен интеграл. Понятието се използва и при численото решаване на диференциални уравнения.
  
 +
Идеята на численото интегриране е  функцията f(x) да се приближи с подходяща функция φ(x), която по-лесно може да се интегрира.
 +
<math>f(x) = \phi(x) + r(x)</math>, където:
 +
*<math>\phi(x)</math> може да се интегрира точно
 +
*<math>r(x)</math> e остатъка (грешката - residual)
 +
Най-често φ(x) е интерполационен полином построен по някакви възли в интервала <math>[a,b]</math> за <math>f(x)</math>.
  
 +
Числените методи за интегриране се налага да се използват:
 +
*Когато не съществува примитивна функция за f(x) (интегралът не се изразява с елементарни функции)
 +
*когато примитивната функция за f(x) е много сложен израз
  
In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations. This article focuses on calculation of definite integrals. The term numerical quadrature (often abbreviated to quadrature) is more or less a synonym for numerical integration, especially as applied to one-dimensional integrals. Numerical integration over more than one dimension is sometimes described as cubature,[1] although the meaning of quadrature is understood for higher dimensional integration as well.
+
Ако  '''''f(x)''''' е плавно изменяща се функция, която може да се интегрира в малък брой измерения и има определени гранични стойности, съществуват редица методи с различна степен на точност за апроксимиране на интеграла <math>\int_a^b f(x)\,dx</math>.
  
The basic problem considered by numerical integration is to compute an approximate solution to a definite integral:
 
  
 +
Представяме интеграла по следния начин:
 +
<math>\int_a^b f(x)\,dx = \sum_{i=1}^{n} A_i f(x_i) + R(f) </math>.
  
If f(x) is a smooth well-behaved function, integrated over a small number of dimensions and the limits of integration are bounded, there are many methods of approximating the integral with arbitrary precision.
+
==Формули на Нютон-Коутс за числено интегриране ==
 +
 
 +
 
 +
Пример. Да се пресметне по формулата на десните правоъгълници
 +
<math>\int_2^3 \frac{ln(x)}{x}\,dx , n = 10 </math>
 +
 
 +
Решение. По условие <math>[a,b] = [2,3]; n=10</math>
 +
 
 +
 
 +
=== Метод на правоъгълниците ===
 +
<math>h = \frac{b - a}{n} = \frac{3-2}{10} = 0.1</math>
 +
 
 +
[[Image:square_rule.png|none|frame|Метод на правоъгълниците]]
 +
 
 +
Съгласно <math>I \approx \int_{a}^{b} = \int_{x_0}^{x_1} + \int_{x_1}^{x_2} + ... + \int_{x_{n-1}}^{x_n} = y_0 h + y_1 h +...+ y_{n-1} h = h \sum_{i=0}^{n-1} y_i</math>
 +
 
 +
x = {2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3}
 +
 
 +
y = {0.346574, 0.353303, 0.35839, 0.362134, 0.364779, 0.366516,0.367504, 0.367871, 0.367721, 0.367142, 0.366204}.
 +
 
 +
<math> I \approx h \sum_{i=0}^{n-1} y_i = 0.362193</math>
 +
 
 +
====Аналитично решение====
 +
<math>\int_2^3 \frac{log(x)}{x} dx = 1/2 (log^2(3)-log^2(2)) \approx 0.363248</math>
 +
 
 +
====Решение с Матлаб====
 +
<code><pre>
 +
h = 0.1 % step
 +
m = 0; % sum
 +
for i = 2:h:3-h
 +
m = log(i)/i + m
 +
end
 +
I = m*h
 +
I =  0.36219
 +
</pre></code>
 +
 
 +
====Оценка на грешката====
 +
 
 +
Грешка от интегриране:
 +
<math>\vert r_0 \vert \leq \left  | \int_{x_0}^{x_1} R_0\,dx\ \right | \leq M_1 \left | \int_{x_0}^{x_1} (x-x_0)\,dx\ \right | =
 +
M_1 \frac{ (x-x_0)^2 }{2} \Bigg|_{x_0}^{x_1} = M_1 \frac{h^2}{2} = O(h^2) </math>
 +
 
 +
Сумарна грешка:
 +
 
 +
<math>R \leq n*M_1 \frac{h^2}{2} = M_1 \frac{h(b-a)}{2} </math>
 +
 
 +
 
 +
<math></math>
 +
<math></math>
 +
 
 +
<math> M_1=\max\limits_{[2,3]}\vert f'(\xi)\vert</math>
 +
 
 +
<math>f=\frac{ln(x)}{x}</math> за <math>f'=\frac{1-ln(x)}{x^2}</math>
 +
 
 +
Максималната стойност в [2,3] на <math>f'=\frac{1-ln(x)}{x^2}</math> е при x = 2
 +
 
 +
<math> M_1 =  \frac{1 - ln(2)}{2^2} = 0.077 </math>
 +
 
 +
<math> R = M_1 \frac{h(b-a)}{2} = 0.077*0.1/2 = 0.004</math>
 +
 
 +
====Анализ====
 +
Разликата от аналитичното решение и численото решение е <math>0.3632 - 0.3621 = 0.0011</math>, което е в рамките на максималната грешка.
 +
 
 +
===Формула на трапеца===
 +
 
 +
 
 +
==== Геометрично извеждане ====
 +
 
 +
Идеята на геометричното извеждане е да замести площта под кривата y = f(x) за x = a до х = b с площта на трапец ограничена от точките (a, 0), (b, 0), [a, f (a)], и [b, f (b)].
 +
 
 +
[[Image:trapec_rul.png|none|frame|Метод на трапеца]]
 +
<math> \int_a^b f(x) \,dx  \approx \frac{b-a}{2} \left [ f(a) + f(b) \right ]</math>
 +
 
 +
Правилото на трапеца няма как да е точно за големи интервали, но ако разглежданият интервал се раздели на по-малки интервали и се сумират техните стойности ще се получи сравнително точно заместване. Ако функцията f има втора производна то грешката от интегриране намалява с <math> h^2 </math>, където h e големината на интеграла.
 +
 
 +
<math> \int_a^b f(x)dx \approx h \left ( \frac{f(x_0)}{2} +f(x_1) + \dots + f(x_{n-1}) + \frac{f(x_n)}{2} \right )
 +
 
 +
</math>
 +
 
 +
==== Аналитично извеждане ====
 +
<math>
 +
L_1(x) = y_0 \frac{x-x_1}{x_0-x_1}+y_0 \frac{x-x_1}{x_1-x_0} <=> L_1(x) = y_0 \frac{x-x_1}{h}+y_0 \frac{x-x_1}{h}
 +
</math>
 +
 
 +
грешка на приближението
 +
<math>R_1(x) = \frac{f''(\xi)}{2}(x-x_0)(x-x_1) </math>
 +
 
 +
<math>| R_1(x) | \leq \frac{M_2}{2} \left | (x-x_0)(x-x_1) \right | </math> , където
 +
 
 +
<math>M_2 = \max\limits_{[a,b]} \left | f''(\xi) \right | </math>
 +
 
 +
<math>f(x) = L_1(x) + R_1(x) </math>
 +
 
 +
Интегрираме в интервала <math>[x_0,x_1],\,  I = \int_{x_0}^{x_1} f(x)\,dx = \int_{x_0}^{x_1} L_1 (x)\,dx + \int_{x_0}^{x_1} R_1 (x) \,dx </math>
 +
 
 +
 
 +
<math>
 +
\begin{align}
 +
I \approx \int_{x_0}^{x_1} L_1 (x)\,dx = \\
 +
& = \int_{x_0}^{x_1} \left ( y_0 \frac{x-x_1}{-h}  +y_1 \frac{x-x_0}{h} \right ) \,dx \\
 +
& = \int_{x_0}^{x_1} y_0 \frac{x-x_1}{-h} \,dx + \int_{x_0}^{x_1} y_1 \frac{x-x_0}{h} \,dx \\
 +
& = \frac{y_0}{-h}\int_{x_0}^{x_1} (x-x_1) \,dx +  \frac{y_1}{h}\int_{x_0}^{x_1}(x-x_0) dx \\
 +
& = \frac{y_0}{-h} \frac{(x-x_1)^2}{2} \Bigg |_{x_0}^{x_1}  + \frac{y_1}{h} \frac{(x-x_0)^2}{2} \Bigg |_{x_0}^{x_1} \\
 +
& = h \frac{(y_0+y_1)}{2}
 +
\end{align}
 +
</math>
 +
 
 +
<math> |r_1| \leq M_2\frac{h^3}{12} </math>
 +
 
 +
==== Формули ====
 +
<math> I \approx h \left ( \frac{y_0+y_n}{2} + \sum_{i=1}^{n-1}{y_i} \right ) </math>
 +
 
 +
<math>| R(x) | \leq n \frac{M_2}{2} \frac{h^3}{12}  = M_2\frac{(b-a)}{12}h^2</math>
 +
 
 +
====Решение====
 +
Пример. Да се пресметне по формулата на десните правоъгълници
 +
<math>\int_2^3 \frac{ln(x)}{x}\,dx , n = 10 </math>
 +
 
 +
<code><pre>
 +
h = 0.1;
 +
sum = 0;
 +
for i = 2+h:h:3-h
 +
sum = log(i)/i + sum
 +
end
 +
sum = sum + (log(2)/2+log(3)/3)/2
 +
I = sum*h
 +
I =  0.36317
 +
</pre></code>
 +
 
 +
====Грешка====
 +
====Анализ====
 +
 
 +
===Формула на Симпсън ===
 +
 
 +
====Постановка====
 +
====Решение====
 +
====Грешка====
 +
====Анализ====
 +
 
 +
[http://ilianko.com/files/Simpson08s.pdf Simpson’s Rule and Newton-Cotes Formulas]
 +
 
 +
[http://ilianko.com/files/numerical_integration_example.pdf промери]
 +
 
 +
[http://ilianko.com/files/numerical_integration.pdf теория]
 +
 
 +
[http://ilianko.com/files/numerical_integration_lecture.pdf лекция]

Latest revision as of 14:14, 6 January 2013

В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на определен интеграл. Понятието се използва и при численото решаване на диференциални уравнения.

Идеята на численото интегриране е функцията f(x) да се приближи с подходяща функция φ(x), която по-лесно може да се интегрира. , където:

  • може да се интегрира точно
  • e остатъка (грешката - residual)

Най-често φ(x) е интерполационен полином построен по някакви възли в интервала за .

Числените методи за интегриране се налага да се използват:

  • Когато не съществува примитивна функция за f(x) (интегралът не се изразява с елементарни функции)
  • когато примитивната функция за f(x) е много сложен израз

Ако f(x) е плавно изменяща се функция, която може да се интегрира в малък брой измерения и има определени гранични стойности, съществуват редица методи с различна степен на точност за апроксимиране на интеграла .


Представяме интеграла по следния начин: .

Формули на Нютон-Коутс за числено интегриране

Пример. Да се пресметне по формулата на десните правоъгълници

Решение. По условие


Метод на правоъгълниците

Метод на правоъгълниците

Съгласно

x = {2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3}

y = {0.346574, 0.353303, 0.35839, 0.362134, 0.364779, 0.366516,0.367504, 0.367871, 0.367721, 0.367142, 0.366204}.

Аналитично решение

Решение с Матлаб

h = 0.1 % step
m = 0; % sum
for i = 2:h:3-h
m = log(i)/i + m
end
I = m*h
I =  0.36219

Оценка на грешката

Грешка от интегриране:

Сумарна грешка:



за

Максималната стойност в [2,3] на е при x = 2

Анализ

Разликата от аналитичното решение и численото решение е , което е в рамките на максималната грешка.

Формула на трапеца

Геометрично извеждане

Идеята на геометричното извеждане е да замести площта под кривата y = f(x) за x = a до х = b с площта на трапец ограничена от точките (a, 0), (b, 0), [a, f (a)], и [b, f (b)].

Метод на трапеца

Правилото на трапеца няма как да е точно за големи интервали, но ако разглежданият интервал се раздели на по-малки интервали и се сумират техните стойности ще се получи сравнително точно заместване. Ако функцията f има втора производна то грешката от интегриране намалява с , където h e големината на интеграла.

Аналитично извеждане

грешка на приближението

, където

Интегрираме в интервала


Формули

Решение

Пример. Да се пресметне по формулата на десните правоъгълници

h = 0.1;
sum = 0;
for i = 2+h:h:3-h
sum = log(i)/i + sum
end
sum = sum + (log(2)/2+log(3)/3)/2
I = sum*h
I =  0.36317

Грешка

Анализ

Формула на Симпсън

Постановка

Решение

Грешка

Анализ

Simpson’s Rule and Newton-Cotes Formulas

промери

теория

лекция