Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:prolog:pllib:correlation_factor [2019/06/27 15:50]
pl:prolog:pllib:correlation_factor [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +====== Correlation factor ======
 +{{tag>​math}}
 +===== Description =====
 +Counting linear correlation factor
 +
 +**Source**: ​ PROLOG str. 200 Wydawnictwo PLJ Warszawa 1991 ISBN 83-85190-63-5
 +===== Download =====
 +Program source code: {{correlation_factor.pl}}
 +===== Listing =====
 +<code prolog>
 +suma([], Sum, Sum, Ilosc, Ilosc).
 +suma([H|T], Sum, Sum1, Ilosc, Ilosc1) :- Nilosc is Ilosc + 1,
 +Nsuma is Sum1 + H, suma(T, Sum, Nsuma, Ilosc, Nilosc).
 +
 +sred(L, Sr) :- suma(L, S, 0, I, 0), Sr is S/I.
 +
 +wari(L, W) :- sred(L, Sr), rozn2(L, H, Sr), suma(H, Suma, 0, Ilosc, 0),
 +W is Suma/Ilosc.
 +rozn2([], [], _).
 +rozn2([H|T],​ [R|T1], Sr) :- R is (H - Sr)*(H - Sr), rozn2(T, T1, Sr).
 +
 +odch(L, O) :- wari(L, War), O is sqrt(War).
 +
 +korel(L1, L2, R) :- sred(L1, Sr1), 
 + sred(L2, Sr2), 
 + rozn(L1, K1, Sr1),
 + rozn(L2, K2, Sr2),
 + mnoz(K1, K2, Sr2),
 + suma(K3, Cov, 0, Ilosc, 0),
 + odch(L1, O1),
 + odch(L2, O2),
 + R is Cov/​(Ilosc*O1*O2).
 +
 +rozn([], [], _).
 +rozn([H|T], [R|T1], Sr) :- R is H - Sr, rozn(T, T1, Sr).
 +
 +mnoz([], [], []).
 +mnoz([H1|T1],​ [H2|T2], [H3|T3]) :- H3 is H1*H2, mnoz(T1, T2, T3).
 +
 +test :- korel([1, 5, 3, 4, 6], [8, 12, 3, 5, 9], K).</​code>​
 +===== Comments =====
  
pl/prolog/pllib/correlation_factor.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0