U matematici, funkcija greške (takođe poznata i kao Gausova funkcija greške ) je neelementarna funkcija koja se javlja u verovatnoći , statistici , i parcijalnim diferencijalnim jednačinama .
Grafik funkcije greške
Definiše se kao:
erf
(
x
)
=
2
π
∫
0
x
e
−
t
2
d
t
.
{\displaystyle \operatorname {erf} (x)={\frac {2}{\sqrt {\pi }}}\int _{0}^{x}e^{-t^{2}}\,\mathrm {d} t.}
Komplementarna funkcija greške , koja se označava kao erfc, je definisana preko funkcije greške:
erfc
(
x
)
=
1
−
erf
(
x
)
=
2
π
∫
x
∞
e
−
t
2
d
t
.
{\displaystyle {\mbox{erfc}}(x)=1-{\mbox{erf}}(x)={\frac {2}{\sqrt {\pi }}}\int _{x}^{\infty }e^{-t^{2}}\,\mathrm {d} t.}
Kompleksna funkcija greške , označena kao w (x ), (poznata i kao Fadeeva funkcija) je takođe definisana preko funkcije greške:
w
(
x
)
=
e
−
x
2
erfc
(
−
i
x
)
.
{\displaystyle w(x)=e^{-x^{2}}{\textrm {erfc}}(-ix).\,\!}
Funkcija greške je neparna funkcija :
erf
(
−
x
)
=
−
erf
(
x
)
.
{\displaystyle \operatorname {erf} (-x)=-\operatorname {erf} (x).}
Za svaki kompleksan broj x važi
erf
(
x
¯
)
=
erf
(
x
)
¯
{\displaystyle \operatorname {erf} ({\overline {x}})={\overline {\operatorname {erf} (x)}}}
gde je
x
¯
{\displaystyle {\overline {x}}}
konjugovano kompleksna vrednost
x
{\displaystyle x}
.
Integral se ne može izračunati u zatvorenoj formi elementarnih funkcija , ali razvojem podintegralnog dela u Tejlorov red, dobija se Tejlorov red funkcije greške kao:
erf
(
x
)
=
2
π
∑
n
=
0
∞
(
−
1
)
n
x
2
n
+
1
n
!
(
2
n
+
1
)
=
2
π
(
x
−
x
3
3
+
x
5
10
−
x
7
42
+
x
9
216
−
⋯
)
{\displaystyle \operatorname {erf} (x)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }{\frac {(-1)^{n}x^{2n+1}}{n!(2n+1)}}={\frac {2}{\sqrt {\pi }}}\left(x-{\frac {x^{3}}{3}}+{\frac {x^{5}}{10}}-{\frac {x^{7}}{42}}+{\frac {x^{9}}{216}}-\ \cdots \right)}
koji važi za svaki realan broj
x
{\displaystyle x}
, i takođe za celu kompleksnu ravan . (Ovo proizilazi iz razvoja Tejlorovog reda
e
−
x
2
{\displaystyle e^{-x^{2}}}
, što je
∑
n
=
0
∞
(
−
1
)
n
x
2
n
n
!
{\displaystyle \sum _{n=0}^{\infty }{\frac {(-1)^{n}x^{2n}}{n!}}}
, koji potom integralimo član po član.)
Za iterativno izračunavanje gornjeg reda, sledeća alternativna formulacija može biti od koristi:
erf
(
x
)
=
2
π
∑
n
=
0
∞
(
x
∏
i
=
1
n
−
(
2
i
−
1
)
x
2
i
(
2
i
+
1
)
)
=
2
π
∑
n
=
0
∞
x
2
n
+
1
∏
i
=
1
n
−
x
2
i
{\displaystyle \operatorname {erf} (x)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }\left(x\prod _{i=1}^{n}{\frac {-(2i-1)x^{2}}{i(2i+1)}}\right)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }{\frac {x}{2n+1}}\prod _{i=1}^{n}{\frac {-x^{2}}{i}}}
jer
−
(
2
i
−
1
)
x
2
i
(
2
i
+
1
)
{\displaystyle {\frac {-(2i-1)x^{2}}{i(2i+1)}}}
pretvara činilac iz
i
{\displaystyle i}
-tog člana u
(
i
+
1
)
{\displaystyle (i+1)}
. član (pod pretpostavkom da prvi član označavamo kao
x
{\displaystyle x}
).
Funkcija greške u beskonačnosti ima vrednost 1 (pogledati Gausov integral ).
Izvod funkcije greške sledi direktno iz njene definicije:
d
d
x
e
r
f
(
x
)
=
2
π
e
−
x
2
.
{\displaystyle {\frac {d}{dx}}\,\mathrm {erf} (x)={\frac {2}{\sqrt {\pi }}}\,e^{-x^{2}}.}
Inverzna funkcija greške ima red
erf
−
1
(
x
)
=
∑
k
=
0
∞
c
k
2
k
+
1
(
π
2
x
)
2
k
+
1
,
{\displaystyle \operatorname {erf} ^{-1}(x)=\sum _{k=0}^{\infty }{\frac {c_{k}}{2k+1}}\left({\frac {\sqrt {\pi }}{2}}x\right)^{2k+1},\,\!}
gde je c 0 = 1, a
c
k
=
∑
m
=
0
k
−
1
c
m
c
k
−
1
−
m
(
m
+
1
)
(
2
m
+
1
)
=
{
1
,
1
,
7
6
,
127
90
,
…
}
.
{\displaystyle c_{k}=\sum _{m=0}^{k-1}{\frac {c_{m}c_{k-1-m}}{(m+1)(2m+1)}}=\left\{1,1,{\frac {7}{6}},{\frac {127}{90}},\ldots \right\}.}
Tako dobijamo razvoj reda (primetiti da su poništeni zajednički činioci iz imenioca i brojioca):
erf
−
1
(
x
)
=
1
2
π
(
x
+
π
x
3
12
+
7
π
2
x
5
480
+
127
π
3
x
7
40320
+
4369
π
4
x
9
5806080
+
34807
π
5
x
11
182476800
+
⋯
)
.
{\displaystyle \operatorname {erf} ^{-1}(x)={\frac {1}{2}}{\sqrt {\pi }}\left(x+{\frac {\pi x^{3}}{12}}+{\frac {7\pi ^{2}x^{5}}{480}}+{\frac {127\pi ^{3}x^{7}}{40320}}+{\frac {4369\pi ^{4}x^{9}}{5806080}}+{\frac {34807\pi ^{5}x^{11}}{182476800}}+\cdots \right).\,\!}
Vrednost funkcije greške u
±
∞
{\displaystyle \pm \infty }
je jednaka
±
1
{\displaystyle \pm 1}
.
Asimptototski razvoj
uredi
Korisni asimptotski razvoj komplementarne funkcije greške (a samim tim i funkcije greške) za veliko x je
e
r
f
c
(
x
)
=
e
−
x
2
x
π
[
1
+
∑
n
=
1
∞
(
−
1
)
n
1
⋅
3
⋅
5
⋯
(
2
n
−
1
)
(
2
x
2
)
n
]
=
e
−
x
2
x
π
∑
n
=
0
∞
(
−
1
)
n
(
2
n
)
!
n
!
(
2
x
)
2
n
.
{\displaystyle \mathrm {erfc} (x)={\frac {e^{-x^{2}}}{x{\sqrt {\pi }}}}\left[1+\sum _{n=1}^{\infty }(-1)^{n}{\frac {1\cdot 3\cdot 5\cdots (2n-1)}{(2x^{2})^{n}}}\right]={\frac {e^{-x^{2}}}{x{\sqrt {\pi }}}}\sum _{n=0}^{\infty }(-1)^{n}{\frac {(2n)!}{n!(2x)^{2n}}}.\,}
Ovaj red divergira za svako konačno x . Praktično, samo prvih par članova ovog razvoja je potrebno da se izračuna dobra aproksimacija erfc(x ), dok Tejlorov red dat iznad konvergira jako sporo.
Još jedna aproksimacija je data sa
(
erf
(
x
)
)
2
≈
1
−
exp
(
−
x
2
4
/
π
+
a
x
2
1
+
a
x
2
)
{\displaystyle (\operatorname {erf} (x))^{2}\approx 1-\exp \left(-x^{2}{\frac {4/\pi +ax^{2}}{1+ax^{2}}}\right)}
gde je
a
=
−
8
3
π
π
−
3
π
−
4
.
{\displaystyle a={\frac {-8}{3\pi }}{\frac {\pi -3}{\pi -4}}.}
Srodne funkcije
uredi
Funkcija greške je suštinski identična standardnoj normalnoj kumulativnoj funkciji raspodele, označenoj kao Φ, jer se one razlikuju samo po skaliranju i translaciji:
Φ
(
x
)
=
1
2
[
1
+
erf
(
x
2
)
]
.
{\displaystyle \Phi (x)={\frac {1}{2}}\left[1+{\mbox{erf}}\left({\frac {x}{\sqrt {2}}}\right)\right]\,.}
Generalizovana funkcija greške
uredi
Grafik generalizovane funkcije greške
E
1
(
x
)
{\textstyle E_{1}(x)}
: siva kriva:
E
1
(
x
)
=
(
1
−
e
−
x
)
/
π
{\textstyle E_{1}(x)=(1-e^{-x})/{\sqrt {\pi }}}
crvena kriva:
E
2
(
x
)
=
erf
(
x
)
{\textstyle E_{2}(x)=\operatorname {erf} (x)}
zelena kriva:
E
3
(
x
)
{\textstyle E_{3}(x)}
plava kriva:
E
4
(
x
)
{\textstyle E_{4}(x)}
zlatna kriva:
E
5
(
x
)
{\textstyle E_{5}(x)}
.
Neki autori raspravljaju o opštijoj funkciji
E
n
(
x
)
=
n
!
π
∫
0
x
e
−
t
n
d
t
=
n
!
π
∑
p
=
0
∞
(
−
1
)
p
x
n
p
+
1
(
n
p
+
1
)
p
!
.
{\displaystyle E_{n}(x)={\frac {n!}{\sqrt {\pi }}}\int _{0}^{x}e^{-t^{n}}\,\mathrm {d} t={\frac {n!}{\sqrt {\pi }}}\sum _{p=0}^{\infty }(-1)^{p}{\frac {x^{np+1}}{(np+1)p!}}\,.}
Slučajevi vredni pomena su:
E 0 (x ) je prava linija definisana kao:
E
0
(
x
)
=
x
e
π
{\displaystyle E_{0}(x)={\frac {x}{e{\sqrt {\pi }}}}}
E 2 (x ) je funkcija greške, erf(x ).
Posle deljenja sa n !, sve E n za neparno n izgledaju slično (ali ne i identično) jedna drugoj. Slično tome, E n za parno n izgledaju slično (ali ne i identično) jedna drugoj posle prostog deljenja sa n !. Sve generalizovane funkcije greške za n >0 izgledaju slično za pozitivne vrednosti x na grafiku.
Ove generalizovane funkcije se za x >0 mogu ekvivalentno predstaviti koristeći Gama funkciju :
E
n
(
x
)
=
x
(
x
n
)
−
1
/
n
Γ
(
n
)
(
Γ
(
1
n
)
−
Γ
(
1
n
,
x
n
)
)
π
,
x
>
0
{\displaystyle E_{n}(x)={\frac {x\left(x^{n}\right)^{-1/n}\Gamma (n)\left(\Gamma \left({\frac {1}{n}}\right)-\Gamma \left({\frac {1}{n}},x^{n}\right)\right)}{\sqrt {\pi }}},\quad \quad x>0}
Prema ovome, možemo definisati funkciju greške preko Gama funkcije:
erf
(
x
)
=
1
−
Γ
(
1
2
,
x
2
)
π
{\displaystyle \operatorname {erf} (x)=1-{\frac {\Gamma \left({\frac {1}{2}},x^{2}\right)}{\sqrt {\pi }}}}
Iterativni integrali komplementarne funkcije greške
uredi
Iterativni integrali komplementarne funkcije greške su definisani preko:
i
n
erfc
(
z
)
=
∫
z
∞
i
n
−
1
erfc
(
ζ
)
d
ζ
.
{\displaystyle \mathrm {i} ^{n}\operatorname {erfc} \,(z)=\int _{z}^{\infty }\mathrm {i} ^{n-1}\operatorname {erfc} \,(\zeta )\;\mathrm {d} \zeta .\,}
One imaju stepeni red :
i
n
erfc
(
z
)
=
∑
j
=
0
∞
(
−
z
)
j
2
n
−
j
j
!
Γ
(
1
+
n
−
j
2
)
,
{\displaystyle \mathrm {i} ^{n}\operatorname {erfc} \,(z)=\sum _{j=0}^{\infty }{\frac {(-z)^{j}}{2^{n-j}j!\Gamma \left(1+{\frac {n-j}{2}}\right)}}\,,}
iz koga slede svojstva simetričnosti
i
2
m
erfc
(
−
z
)
=
−
i
2
m
erfc
(
z
)
+
∑
q
=
0
m
z
2
q
2
2
(
m
−
q
)
−
1
(
2
q
)
!
(
m
−
q
)
!
{\displaystyle \mathrm {i} ^{2m}\operatorname {erfc} (-z)=-\mathrm {i} ^{2m}\operatorname {erfc} \,(z)+\sum _{q=0}^{m}{\frac {z^{2q}}{2^{2(m-q)-1}(2q)!(m-q)!}}}
i
i
2
m
+
1
erfc
(
−
z
)
=
i
2
m
+
1
erfc
(
z
)
+
∑
q
=
0
m
z
2
q
+
1
2
2
(
m
−
q
)
−
1
(
2
q
+
1
)
!
(
m
−
q
)
!
.
{\displaystyle \mathrm {i} ^{2m+1}\operatorname {erfc} (-z)=\mathrm {i} ^{2m+1}\operatorname {erfc} \,(z)+\sum _{q=0}^{m}{\frac {z^{2q+1}}{2^{2(m-q)-1}(2q+1)!(m-q)!}}\,.}
Implementacija
uredi
C/C++: Implementirana je kao funkcija double erf(double x) i double erfc(double x) u zaglavlju math.h ili cmath u GNU verziji. Ovo nije deo standarda i zavisi od implementacione biblioteke. Parovi funkcija {erff() ,erfcf() } i {erfl() ,erfcl() } uzimaju i vraćaju tipove float i long double , respektivno.
Spoljašnje veze
uredi