Author: Odd Gunnar Malin
Date: 01:26:57 04/21/05
Go up one level in this thread
On April 21, 2005 at 02:30:40, Odd Gunnar Malin wrote:
>Well, hard to stop when first started :)
Still going stron :)
>Your formula put into Excel format (basic):
>
>Function phi(x)
> p = 0.2316419
> c1 = 0.31938153
> c2 = -0.356563782
> c3 = 1.78147937
> c4 = -1.821255978
> c5 = 1.330274429
> Pi = 3.14159265358979
> sndf = Exp(-(x * x) / 2) / Sqr(2 * Pi)
> t = 1 / (p * x + 1)
> phi = ((((c5 * t + c4) * t + c3) * t + c2) * t + c1) * t * sndf
>End Function
>
>Function Rtdiff(Performance)
> tol = 0.0001
> sdev = 200 * Sqr(2)
> Rtdiff = (Performance - 0.5) * 700
> delta = 1
> Do While delta >= tol
> Iteration = phi(-Rtdiff / sdev)
> delta = Performance - Iteration
> Rtdiff = Rtdiff + delta * 700
> Loop
>End Function
>
>Put these in a macro and set a sell to f.ex. '=Rtdiff(0,68)'
>
>Odd Gunnar
And Simon Schmitt's formula to put into an Excel sheet.
Function getExpectedScore(ratingdiff)
c1 = 0.0014217
c2 = 0.00000024336
c3 = 0.000000002514
c4 = 0.000000000001991
getExpectedScore = 0.5
getExpectedScore = getExpectedScore + c1 * ratingdiff
getExpectedScore = getExpectedScore - c2 * ratingdiff * ratingdiff
getExpectedScore = getExpectedScore - c3 * ratingdiff * ratingdiff *
ratingdiff
getExpectedScore = getExpectedScore + c4 * ratingdiff * ratingdiff *
ratingdiff * ratingdiff
End Function
Function getRatingDifferance(score)
precision = 0.1
getRatingDifferance = 0
Do While getRatingDifferance < 758
nscore = getExpectedScore(getRatingDifferance)
If nscore >= score Then
Exit Do
End If
getRatingDifferance = getRatingDifferance + precision
Loop
End Function
Put these in a macro and set a cell to f.ex. '=getRatingDifferance(0,68)'
Odd G.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.