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

From Ilianko
 
(79 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== ==
 
В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на определен интеграл. Понятието се използва и при численото решаване на диференциални уравнения.
 
В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на определен интеграл. Понятието се използва и при численото решаване на диференциални уравнения.
  
Line 13: Line 14:
 
Ако  '''''f(x)''''' е плавно изменяща се функция, която може да се интегрира в малък брой измерения и има определени гранични стойности, съществуват редица методи с различна степен на точност за апроксимиране на интеграла <math>\int_a^b f(x)\,dx</math>.
 
Ако  '''''f(x)''''' е плавно изменяща се функция, която може да се интегрира в малък брой измерения и има определени гранични стойности, съществуват редица методи с различна степен на точност за апроксимиране на интеграла <math>\int_a^b f(x)\,dx</math>.
  
Тогава:
 
  
 +
Представяме интеграла по следния начин:
 +
<math>\int_a^b f(x)\,dx = \sum_{i=1}^{n} A_i f(x_i) + R(f) </math>.
  
 +
==Формули на Нютон-Коутс за числено интегриране ==
  
 
Друг подход е следният: Представяме интеграла по следния начин:
 
 
(1) <math>\int_a^b f(x)\,dx = \sum_{i=1}^{n} A_i f(x_i) + R(f) </math>.
 
  
 
Пример. Да се пресметне по формулата на десните правоъгълници
 
Пример. Да се пресметне по формулата на десните правоъгълници
Line 26: Line 25:
  
 
Решение. По условие <math>[a,b] = [2,3]; n=10</math>
 
Решение. По условие <math>[a,b] = [2,3]; n=10</math>
=== Решение ===
+
 
 +
 
 +
=== Метод на правоъгълниците ===
 
<math>h = \frac{b - a}{n} = \frac{3-2}{10} = 0.1</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>
 
Съгласно <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>
Line 43: Line 46:
 
<code><pre>
 
<code><pre>
 
h = 0.1 % step
 
h = 0.1 % step
m = 0; % temp
+
m = 0; % sum
for i = 2:0.1:3-0.1
+
for i = 2:h:3-h
 
m = log(i)/i + m
 
m = log(i)/i + m
 
end
 
end
Line 51: Line 54:
 
</pre></code>
 
</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 | =  
 
<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|
+
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>
 
<math></math>
 
<math></math>
Line 67: Line 74:
 
Максималната стойност в [2,3] на <math>f'=\frac{1-ln(x)}{x^2}</math> е при x = 2
 
Максималната стойност в [2,3] на <math>f'=\frac{1-ln(x)}{x^2}</math> е при x = 2
  
<math> M_1 =  {1 - ln(2)}{2^2} = 0.077 </math>
+
<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

промери

теория

лекция