📄 chsone.dem
字号:
PROGRAM d13r8(input,output);
(* driver for routine CHSONE *)
CONST
nbins=10;
npts=2000;
TYPE
barray = ARRAY [0..nbins] OF real;
VAR
glinext,glinextp : integer;
glma : ARRAY [1..55] OF real;
chsq,df,prob,x : real;
i,ibin,idum,j : integer;
bins,ebins : barray;
(*$I MODFILE.PAS *)
(*$I GAMMLN.PAS *)
(*$I GCF.PAS *)
(*$I GSER.PAS *)
(*$I GAMMQ.PAS *)
(*$I RAN3.PAS *)
(*$I EXPDEV.PAS *)
(*$I CHSONE.PAS *)
BEGIN
idum := -15;
FOR j := 1 to nbins DO BEGIN
bins[j] := 0.0
END;
FOR i := 1 to npts DO BEGIN
x := expdev(idum);
ibin := trunc(x*nbins/3.0)+1;
IF (ibin <= nbins) THEN
bins[ibin] := bins[ibin]+1.0
END;
FOR i := 1 to nbins DO BEGIN
ebins[i] := 3.0*npts/nbins*exp(-3.0*(i-0.5)/nbins)
END;
chsone(bins,ebins,nbins,-1,df,chsq,prob);
writeln('expected':15,'observed':15);
FOR i := 1 to nbins DO BEGIN
writeln(ebins[i]:14:2,bins[i]:15:2)
END;
writeln;
writeln('chi-squared:':19,chsq:10:4);
writeln('probability:':19,prob:10:4)
END.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -