Android-приложение для поиска дешевых авиабилетов: play.google.com
Главная -> Справочник по алгоритмам

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

П p и M e p. erf (1) =0,842700793; erfc (1) = =0,1572992071 ((c«5 c), erf (2) =0,995322265 и erfc (2) =0,04677734976 (<c»12 c).

Интеграл вероятности erf x находится также численным интегрированием. Так, используя программу 4.42 и вводя Л=0, B=x=0,5 и М=4, получим erf л;=0,5204998779 при «с»6 с (неверен лишь последний знак).-

Гауссовское (нормальное) распределение BejjoHTHocTH характеризуется следующими основными функциями [36]:

Q (х) = 1 - Р {х) =-4=- [ е" dt, V2jt j

А {х)=2Р {x)-l=- [ е-dt.

л/2л J

Функцию Р {х) удобно вычислять разложением в следующий ряд:

Р {X) =Y+2 (X)

1-3-5-

(2«+1)

Пример. Z (1) =0,2419707275, Р(1) = = 0,8413447461. Q (1) =0,158655239, А (1) = =0,6826894921 (l!c«4 с), Z (5) = 1,486719515Х X 10- Р (5)-=0,9999997133, Q (5) =2,86685Х Х10- и Л (5) =0,9999994266 (<с»20 с).

Для уменьшения времени счета функции erf X и Р {х) могут вычисляться с помощью полиномиальной аппроксимации. Для функции erf А с погрешностью не выше 1,5-10~ справедлива аппроксимация

erfx=l-(c,i-f asi-f ... +abt) e-

где <=l/(l+px), р=0,3275911, а,=

= 0,254829592, 02=-0,284496736, сз=

= 1,421413741, 04=-1,453152027 и 05= = 1,061405429.

С погрешностью менее 7,5-10 Р {х) вычисляется по формуле

P(x) = l-Z(x) {b,t + b2t+ ... +W=).

где t=\/{\+px), р = 0,2316419, 6,= = 0,31938153, 62=-0,356563782, 63 = = 1,781477937, 64= -1,821255978 и 65= = 1,330274429.

С помощью программы 6.26 с применением этих аппроксимаций вычисляются следующие функции: Р {X)=Z [х), ф (А") = = erfx, П(Х)Р{х), Q{X)Q{x) и Л {Х)А (X).

Пррграмма 6.26.

05 PRINT ВЫЧИСЛЕНИЕ ФУНКЦИЙ Р<Х>гФСОл ПСКХ-QCX) Н A<XV 10 INPLrr ВВЕДИТЕ Х=Х! LETV=Ь:l-.3275911:«Х) 20 LETZ=<С1.0614054*V-1.453152У«У-И.4214137):«V 30 LETZ=<<2S449673>*V-f.2548295):«V>-EXP<X-2) 40 LETF=1-Z! LETV=l--a-f.2316419*X>

50 LETP=EXP < -хг-г) -SQR С zmp I)

60 LETZ=< <: 1.3302744*V-1.821256)*V-H. 7814779 >*V 70 LETZ= < < <2-. 35656378 ) жV-f. 31938153 ) :«V ) :«P 80 PRINT! 1.7!Р<Х)=Р:РР1НТФ<Х)=РП ЕТ7=1-2 90 PRINTn<X)=Z-: PRINTQ<X)=1-Z 106 PRINTA<X>=2*2-l-.e0T0 10SEHII

10 PRINTБЫЧНСЯЕНИЕ ФУНКЦИЙ ERFCX) И ERFCaO

20 INPUTВВЕДИТЕ X=X!LETR=1!LETS=X!LETN=0

30 LETN=N+1:LETK=2*N+1: LETR=-RN

40 LETW=S!LETS=S+(:XK)*R-K

50 IF ABS<W-S>>=1E-10 THEN 30

m LETE=2*SSQR«:#PI):PRINTERFaO=E

70 LETF=1-E!PRINTERFC<X)F:60T0 26sEND

В программе 6.24 вычисления заканчи- После этого находятся связанные с ней ваются, когда очередной член ряда по абсо- функции Q (х) .и А (х). лютиой величине становится меньше е=

= ыо-".

05 PRINTВЫЧИСЛЕНИЕ ФУНКЦИЙ Zi.k>F<.k>>e<k> И А<Х>

10 PRINT С ломоть» РАЗЛОЖЕНИЯ РОО В РЯД

20 INPUTВВЕДИТЕ Х=X!LETZ=EXP<-X:«X-2)-SQR(:2**PI>

36 PRINTг < X >=Z!LETR=1!LETS=0:LETN=0

40 LETK=2*N+1s LETR=R*K s LETW=S

50 LETS=S+< X-K ) ! LETN=H+1

60 IF S-W>= IE-10 THEN 40

70 LETF-.5+S*Zs PRINTP< X) =P

80 LETQ=1-P!PRINTQ(X)=Q

90 LETA=2*P-l:PRINTA<X)=A!GnTn sOsEHD



Пример. Я (I) =0,2419707245, Ф(1) = = 0,8413447497,П (!) =0,8413447497. Q (1) = =0,1586552503 и А (1) =0.6826894994.

§6.15. Некоторые статистические функции

К основным статистическим функциям относятся плотности вероятности и функции распределения для различных законов распределения. В большинстве своем эти фуик-

Таким образом, для реализации этих вычислений необходимо вычисление гамма-функции Г {v/2). Поскольку указанные выше функции обычно вычисляются при целых v = l, 2, .... Г (Л) = Г (v/2) можно вычислить по следующему алгоритму.

1. .Если v=l. Л = 1/2 и Г (Л)=-.

2. Если v - четное число, то Г (Л) = = (Л-1)!

3. Если v - нечетное число, то Г (Л) = = (Л-1) (Л-2) ... (1/2) Vn-

Программа 6.27.

05 PRINTБЫЧИСЯЕНИЕ ФУНКЦИЙ XS РАСПРЕДЕ.ПЕНИЯ

10 1НРиТБВЕДИТЕ УГг,1) XfUsLETft=U.2:LETB=:<,;?!LPTC=A

20 LETG=1!IF 1НТ<Й)=0 THEN 48

30 FOR 1=1 ТО ft-l:LETG=G-«l!NEXT i:GOTO 55

40 LETG=SGR<#PI)!IF С<1 THEN 55

50 LETIi=D*C!LETC=C-l!GOTO 40!LETG=G*Ii.X

55 LETF=<X"<ft-l)>.G/EXP«:ft>><2"A>

68 PRINTЗНАЧЕНИЕ F<X"-2,U5=F

70 LETS=0:LETK=0! LETW=e: LET2:=e! LETG=1

88 LETK=K+1! LETU)=U)+2!LET2=S! LETG=G*<U+W>

98 LETS=S+<X"K>>6: IF SOZ THEN 88

100 LETP=2!tsX*F*<l+S)/U!LETQ=l-P

110 PRINTЗНАЧЕНИЕ PCXS,U>=P

120 PRINTЗНАЧЕНИЕ ОХг,U)=Q!GnTO lesEHU

ЦИИ выражаются через элементарные и специальные функции включая последние для нормального распределения (§ 6.14). В" первом случае вычисление основных статистических функций не представляет труда, а во втором требует применения некоторых специальных приемов.

Распределение зс характеризуется плотностью вероятности

7 {X) {X) =х/=-7(2/=Г (v/2) е"")

и функциями распределения (х=х)

Р {х, v) :

! {

2"Г (v/2) J

Q {x, v)=l-P (x/v) =

2) J

Вычисление P (x/\) выполняется разложением в ряд:

P(/v)=-7 W

+

Z (v

(v + 2) (v-f4) ... (v + 2k)

Пример. F (1,1) =0,2419707245,

Р (1.1) =0,6826894921, Q (1.1) =0.05121793333 (гс«4 с) и f (30,30) =0,05121793333, Р (30,30) =0.534346291, Q (30,30) =0,465653709 (<с»20 с).

«-распределение характеризуется функцией

j2 4 -(v+1V2

} -slr(v/2):

Для v четных функция / [х, v) вычисляется разложением в ряд:

/ [х, v) =sin 6

l+yCos=e+-icos-e+...

2.4<6... (v-2) "

а для v нечетных (кроме v=l, когда / [х, \) =20/л)

Ой 2 (

I (х, v)=-H--cosOi sine

i+ycose-f.,

2-4... (у-З) 1-3... (v-2)

где 8=arctg [x/v). Програ1>!мй 6.28.

18 PRINTВЫЧИСЛЕНИЕ ФУНКЦИЙ KX..U) Т-РАСПРЕДРПЕНИЯ

20 INPUTВВЕДИТЕ X..U X.. U3! ЕТГ-,= 1!LETF=1:1 ЕТй=1:LETE=8

<е LETХ=йТН < X-SQR СU > >: LETC=CnS С X )

48 IF U.2-INHU,.2>=8 THEN 98

58 LETB=2:*.X,*Pl! IF U=G THEH 148

t.8 LETG=U-l!LETli=3

?8 LETE=E+2:1F t=fi THEH



80 LETF=F*E>Ii5<iCsLETA=ft+F!LETI!=I!+2:80TO 78

90 LET6*MILETI!=1

100 LETE=E+2iIF E=6. THEH 138

lie LETF=F!«D/E*C

128 LETft=A+FiLETD=D+2sG0T0 100

130 LET2=SINtX)*A!G0T0 160

140 LET2=B«G0T0 169

150 LET2=2/«Pl5<iCOS<X)«SINtX>!«A+B

160 PRINTЗНАЧЕНИЕ I<X,U>=Z!GOTO 2e!ENB

Пример. Для x = 2,13 и v= 10 получим / (X, v) =0940978732.

Функция распределения Q (x) для /-распределения

QW =

= [ . --:----.....

(v-b-v2)/2

прицелых vi вычисляется разложением в ряд

1+(1-0 +

Уг (v2-f 2) 2-4

Х(1-0+ - +

V2 (V2-f 2)...(V2-f VI -4)

2.4...(v,-2)

Х(1-0"-"

а при целых vs Q(x) = l(l-0/

+ 2-4...Ы-2).

2 2-4

где <=V2/(V2-f ViX).

Если целыми являются vi и vs, берется ряд для меньшего из nmt. Программа 6.29.

Пример. Для х = 2,71, vi=6 и V2 = 7 получим Q (х) =0,1090775999, а для х=4,12, Vi=4 и V2=10 получим

Q (х)= 0,03158204352.

В ряде случаев необходимо найти значение аргумента по заданному значению функции вероятности. Общим методом решения этой задачи является решение нелинейного уравнения F(x)-fn = 0, Де F (х)-функция и Fa - ее заданное значение. Однако значительное сокращение времени вычислений достигается, если использовать аппроксимацию для зависимости х от Fa. Например, значение х=Хр для заданной функции Q (х) с погрешностью менее 4,5-10~* вычисляется с помощью следующей аппроксимации .[36], справедливой для нормального распределения:

Xp=t -

X+bd+bif + bii

P==Q(xp),

00 = 2,515517,

a, =0,802853, 02 = 0,010328, 6, = 1,432788, 62 = = 0,189269 и 6з = 0,001308. Если задана функция P(xp)=po, то вычисляется Q (хр) = = 1-рп, после чего находится Хр.

18 PRINTВЫЧИСЛЕНИЕ ФУНКЦИИ Q<X) F-РйСПрЕИЕЛЕНИЯ 20 INPUTВВЕДИТЕ X,U1»U2 ХгВ,С

38 LETG=C-a:+X*B):LETA=15LETJ=l!LETK=1:LETK=1!LETI=e

46 LETF=C2!IF B2-INT«:B-2>=6 THEN 78

5Э IF F-INT<F>=0 THEN 138

68 LET2:=0!6OTO 220

70 IF F-INT«:F)=0 THEN 90

80 GOTO 100

90 IF B-C>=0 THEN 136

160 LETX=0sLETF=6:LFTE=C!LETH=1-G

118 IF<B-2)2=K THEH 198

1.20 LETK=<B-£)-2!G0T0 168

138 LETX=1:LETF=8!LETE=B:LFTH=&

140 IF<C-2>2=K THEH 196

150 LETK=<C-2>-2

166 LFTI=I+l!lF I=K THEN 190

178 LFTF=F+2! LETJ=J*E>F*H: LETA=A+J

188 LETE=E+2!G0T0 168

190 LETA=A+J*E-<F+2>*H!IF X=0 THEN 210 200 LETH= 1 -G! LETZ= 1 -АжН" <. Bj-Z >: GOTO 226 210 LETZ=A*G"«:Cv2)

220 PRINTQ<X..Ubl,i2>=-Z!60T0 20:ENIi



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78



0.0132
Яндекс.Метрика