Показать сообщение отдельно
Старый 11.12.2010, 21:14   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ДСВ по таблице

Function ImpRnd_DRVBankNormalize(NNBankHandle%)
    
Local Total%=0
    Local i
%
    For 
i=0 To BankSize(NNBankHandle)-1 Step 4 
        Total
=Total+PeekFloat(NNBankHandle,i
    
Next
    
For i=0 To BankSize(NNBankHandle)-1 Step 4 
        Local v
#=PeekFloat(NNBankHandle,i) 
        
PokeFloat(NNBankHandle,i,v/Float(Total))
    
Next
End 
Function 
Перерассчитывает коэффициенты в банке. На вход можно подать ненормированную веротяность (т.е. тупо кол-во реализаций события в серии экспериментов).
Для рассмотренного в 1ом посте, код можно переписать как:
Local B%=CreateBank(16) 
PokeFloat(B,0,2) 
PokeFloat(B,4,3) 
PokeFloat(B,8,4) 
PokeFloat(B,12,1) 
ImpRnd_DRVBankNormalize(B)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием