Числено интегриране: Difference between revisions
No edit summary |
|||
| (151 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== == | |||
В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на определен интеграл. Понятието се използва и при численото решаване на диференциални уравнения. | В числения анализ, числено интегриране определя група от алгоритми за намиране стойността на определен интеграл. Понятието се използва и при численото решаване на диференциални уравнения. | ||
Ако '''''f(x)''''' е плавно изменяща се функция, която може да се интегрира в малък брой измерения и има определени гранични стойности, съществуват редица методи с различна степен на точност за апроксимиране на интеграла. | Идеята на численото интегриране е функцията 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) е много сложен израз | |||
Ако '''''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>. | |||
==Формули на Нютон-Коутс за числено интегриране == | |||
Пример. Да се пресметне по формулата на десните правоъгълници | |||
<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