OPTION BASE 0 PRINT PRINT "標準正規分布に従う乱数:" PRINT "  nrandom = RND+RND+RND+RND+RND+RND+RND+RND+RND+RND+RND+RND - 6" PRINT PRINT " なぜなら、RND関数は、区間(0,1)で一様分布する確率変数とみなせて、" PRINT "その 平均値は 1/2, 分散は 1/12 だから。" PRINT " 平均値μ,標準偏差σ の正規分布 (μ,σ) に従う乱数は、" PRINT "nrandom を σ倍して μを加えれば 得られます。" PRINT PRINT "平均値が50,標準偏差が20 の正規様分布をしている 0 〜 99 の整数が多数集まった母集団があります。" PRINT "この中から100個の標本(数)を無作為に抽出し、この標本の平均値と標準偏差を求めます。" PRINT RANDOMIZE DEF nrandom=RND+RND+RND+RND+RND+RND+RND+RND+RND+RND+RND+RND-6 DIM Q(100),R(100),K(5) FOR i=1 TO 5 LET K(i)=0 NEXT i LET n=100 LET width=20 LET U=0 LET S=0 LET W1=0 LET W2=0 FOR i=1 TO n LET Q(i)=INT(nrandom*20+50) IF Q(i)<0 THEN LET Q(i)=0 IF Q(i)>99 THEN LET Q(i)=99 PRINT Q(i);" "; LET R(i)=INT(Q(i)/20)+1 LET U = U + Q(i)/n NEXT i PRINT PRINT FOR i=1 TO n LET S = S + (Q(i)-U)^2/n NEXT i FOR i=1 TO n LET K(R(i)) = K(R(i)) + 1 NEXT i FOR i=1 TO 5 PRINT USING "###":width*(i-1); PRINT " 以上 "; PRINT USING "###":20*i; PRINT " 未満 : "; PRINT USING "##":K(i); PRINT " 個" NEXT i FOR i=1 TO 5 LET W1 = W1 + (i-3)*K(i) NEXT i FOR i=1 TO 5 LET W2 = W2 + (i-3)^2*K(i) NEXT i PRINT PRINT PRINT "ヒストグラムから求めた平均値:";width*W1/n+50 PRINT "本当の平均値:";U PRINT PRINT "ヒストグラムから求めた標準偏差:";ROUND(width*SQR(W2/n-(W1/n)^2)*100)/100 PRINT "本当の標準偏差:";ROUND(SQR(S)*100)/100 PRINT END