/* S0330.java * 頻度検定 * (C) H.Ishikawa 2008 */ package simulation; import java.applet.*; import java.awt.*; public class S0230 extends Applet{ public void paint(Graphics g){ int NUMBER = 10000; /* 発生させる乱数の数 */ int j; /* forのカウンタ */ int i; /* 0.1ごとのキザミの番号 */ int f[] = new int [10]; /* キザミiに落ちる乱数の数 */ double f0; /* 理論度数 */ double xs = 0.0; /* カイ自乗の値 */ f0 = NUMBER/10.0; for (j = 1; j <= NUMBER; j ++){ i = (int)(Math.random() * 10); f[i] = f[i] + 1; } g.drawString(" i f[i]", 10, 10); /*頻度の検定*/ for (i = 0; i <= 9; i ++){ g.drawString(" " + i , 10 , 20 + 10 * i); g.drawString(" " + f[i] , 30 , 20 + 10 * i); xs = xs + (f[i] - f0) * (f[i] - f0) / f0; } g.drawString("xs = " + xs , 10, 30 + 10 * i); } }