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

From Ilianko
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), която по-лесно може да се интегрира. f(x)=ϕ(x)+r(x), където:

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

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

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

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

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


Представяме интеграла по следния начин: ∫abf(x)dx=∑i=1nAif(xi)+R(f).

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

Пример. Да се пресметне по формулата на десните правоъгълници ∫23ln(x)xdx,n=10

Решение. По условие [a,b]=[2,3];n=10


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

h=b−an=3−210=0.1

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

Съгласно I≈∫ab=∫x0x1+∫x1x2+...+∫xn−1xn=y0h+y1h+...+yn−1h=h∑i=0n−1yi

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}.

I≈h∑i=0n−1yi=0.362193

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

∫23log(x)xdx=1/2(log2(3)−log2(2))≈0.363248

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

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

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

Грешка от интегриране: |r0|≤|∫x0x1R0dx |≤M1|∫x0x1(x−x0)dx |=M1(x−x0)22|x0x1=M1h22=O(h2)

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

R≤n*M1h22=M1h(b−a)2


M1=max⁡[2,3]|f′(ξ)|

f=ln(x)x за f′=1−ln(x)x2

Максималната стойност в [2,3] на f′=1−ln(x)x2 е при x = 2

M1=1−ln(2)22=0.077

R=M1h(b−a)2=0.077*0.1/2=0.004

Анализ

Разликата от аналитичното решение и численото решение е 0.3632−0.3621=0.0011, което е в рамките на максималната грешка.

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

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

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

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

∫abf(x)dx≈b−a2[f(a)+f(b)]

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

∫abf(x)dx≈h(f(x0)2+f(x1)+…+f(xn−1)+f(xn)2)

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

L1(x)=y0x−x1x0−x1+y0x−x1x1−x0<=>L1(x)=y0x−x1h+y0x−x1h

грешка на приближението R1(x)=f″(ξ)2(x−x0)(x−x1)

|R1(x)|≤M22|(x−x0)(x−x1)| , където

M2=max⁡[a,b]|f″(ξ)|

f(x)=L1(x)+R1(x)

Интегрираме в интервала [x0,x1],I=∫x0x1f(x)dx=∫x0x1L1(x)dx+∫x0x1R1(x)dx


I≈∫x0x1L1(x)dx==∫x0x1(y0x−x1−h+y1x−x0h)dx=∫x0x1y0x−x1−hdx+∫x0x1y1x−x0hdx=y0−h∫x0x1(x−x1)dx+y1h∫x0x1(x−x0)dx=y0−h(x−x1)22|x0x1+y1h(x−x0)22|x0x1=h(y0+y1)2

|r1|≤M2h312

Формули

I≈h(y0+yn2+∑i=1n−1yi)

|R(x)|≤nM22h312=M2(b−a)12h2

Решение

Пример. Да се пресметне по формулата на десните правоъгълници ∫23ln(x)xdx,n=10

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

промери

теория

лекция