//////////////////////////////////////////////////////////////// // // FisherFTable.q // //////////////////////////////////////////////////////////////// (Def (FisherFTable nu1min nu1max nu2min nu2max s) //////////////////////////////////////////////////////////////// // Input: // nu1min = min nu1 along horizontal, e.g. 1 or 11 // nu1max = max nu1 along horizontal, e.g. 10 or 20 // nu2min = min nu2 along vertical, e.g. 1 // nu2max = max nu2 along vertical, e.g. 100 // s = significance level in [0.,1.], e.g. .05, .1, .01 // Output: // Print a FisherF table similar to those found at // http://www.itl.nist.gov/div898/handbook/eda/section3/eda3673.htm //////////////////////////////////////////////////////////////// (Local p f) (WithPrecision 100 (Setq p (- 1 s)) (Write "nu2\\nu1 ") (Loop (To nu1 nu1min nu1max) (Do (Write "{0:g3} " nu1))) (WriteLine "") (Loop (To nu2 nu2min nu2max) (Do (Write "{0:g3} " nu2) (Loop (To nu1 nu1min nu1max) (Do (Setq f (FisherFQuant nu1 nu2 p)) (Write " {0:g#9}" f))) (WriteLine)))) ) (Def (FisherFTableTest) (FisherFTable 1 10 1 100 .1) (FisherFTable 11 20 1 100 .1) (FisherFTable 1 10 1 100 .05) (FisherFTable 11 20 1 100 .05) (FisherFTable 1 10 1 100 .01) (FisherFTable 11 20 1 100 .01) (FisherFTable 1 10 1 100 .005) (FisherFTable 11 20 1 100 .005) (FisherFTable 1 10 1 100 .001) (FisherFTable 11 20 1 100 .001) )