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.