1、离散系统仿真随机数生成及检验韩宝安import java.util.*;public class RanddomNum /* * param args */ public static void main(String args) / TODO Auto-generated method stub /随机数发生器LCG int n=1000;/循环次数 int b=31;/模数指数 double Xn=new doublen+1;/定义Xn Xn0=10.0;/初始值 double Un=new doublen+1;/定义Un long a=214159269;/乘子 long c=45380
2、6245;/增量 double m=Math.pow(2, b);/模数 double Sum=0.0;/样本和值 double u,S2=0.0;/样本均值和方差 System.out.println(随机数发生器生成的随机数如下:); for(int i=0;in;i+) Xni+1=(a*Xni+c)%m; Uni+1=Xni/m; System.out.println(第+(i+1)+个随机数:+ +Uni+1); Sum+=Uni+1; u=Sum/n;/计算样本均值 System.out.println(样本均值u=+u); for(int i=0;in;i+) Uni+1=Xni
3、/m; S2+=Math.pow(Uni+1-u,2)/(n-1);/计算样本方差 System.out.println(样本方差S2=+S2); /统计分析 double E=1.0/2;/总体均值,亦即样本均值期望 double Var=1.0/12;/总体方差 double Varu=1.0/(12*n);/样本方差 double ES2=Var;/样本均值方差的期望 double VarS2=1.0/(180*n);/样本均值方差的方差 double confidence_level=0.95;/置信度 double v1=(u-E)/Math.sqrt(Varu);/样本均值统计量
4、double v2=(S2-ES2)/Math.sqrt(VarS2);/样本方差统计量 double Z=1.96;/Z1-confidence_level/2的值 if(Math.abs(v1)=Z & Math.abs(v2)=Z) System.out.println(不拒绝原假设); else System.out.println(拒绝原假设,即所生成的随机数不符合要求!); System.out.println(-); Sum=0.0; S2=0.0; System.out.println(Java中自带随机函数生成的随机数如下:); for(int i=0;in;i+) Uni+
5、1=Math.random(); System.out.println(第+(i+1)+个随机数:+ +Uni+1); Sum+=Uni+1; u=Sum/n;/样本均值 System.out.println(样本均值u=+u); for(int i=0;in;i+) Uni+1=Xni/m; S2+=Math.pow(Uni+1-u,2)/(n-1); System.out.println(样本方差S2=+S2); v1=(u-E)/Math.sqrt(Varu);/样本均值统计量 v2=(S2-ES2)/Math.sqrt(VarS2);/样本方差统计量 if(Math.abs(v1)=Z
6、 & Math.abs(v2)=Z) System.out.println(不拒绝原假设); else System.out.println(拒绝原假设,即所生成的随机数不符合要求!); System.out.println(-); System.out.println(均匀性分析:); int Segment=200; int N=new intSegment; double ka=0; double X2=232.912;/卡方分布的分位点值 int Num; for(int i=1;i=Segment;i+) Num=0; for(int j=1;j=(1.0/Segment*(i-1)
7、 & Unj=1.0/Segment*i) Num+; Ni-1=Num; ka=ka+Math.pow(Ni-1-n/Segment,2)/(n/Segment); System.out.print( 各区间随机数个数:); for(int i=0;iSegment;i+) System.out.print(Ni+ ); System.out.println( ); if(ka=X2) System.out.println( 因为统计量ka=+ka+X2+,所以拒绝原假设,即认为随机数不均匀!); System.out.println(-); System.out.println(K-S检验
8、:); int Ui=new intn; double Dn1=new doublen+1; double Dn2=new doublen+1; double Dn=new double2; double D; double d=1.36/Math.sqrt(1000);/查表的D分布分位点值 Arrays.sort(Un);/对随机数列从小到大排列后的新序列 for(int i=1;i=n;i+) Dn1i=1.0*i/n-Uni; Dn2i=Uni-(i-1)*1.0/n; /System.out.println(Dn2i); Arrays.sort(Dn1); Arrays.sort(D
9、n2); Dn0=Dn1n; Dn1=Dn2n; Arrays.sort(Dn); D=Dn1; if(D=d) System.out.println( 因为Dn最大值=+D+d+,所以拒绝原假设,即认为随机序列的经验分布函数与0-1均匀分布差异显著!); System.out.println(-); 结果:随机数发生器生成的随机数如下:第1个随机数: 4.6566128730773926E-9 第2个随机数: 0.2085768091492355 第3个随机数: 0.189*110764第4个随机数: 0.630544401705265 第5个随机数: 0.35256192088127136
10、 第6个随机数: 0.4644889086484909第7个随机数: 0.34608858823776245 第8个随机数: 0.2775612026453018 第9个随机数: 0.47259870171546936第10个随机数: 0.7010539621114731 第11个随机数: 0.26666679978370667 第12个随机数: 0.11956797540187836第13个随机数: 0.4191962517797947 第14个随机数: 0.060020774602890015 第15个随机数: 0.4250886905938387第16个随机数: 0.4490636736
11、154556 第17个随机数: 0.2872605621814728 第18个随机数: 0.22063325345516205第19个随机数: 0.4883692264556885 第20个随机数: 0.7511657029390335 第21个随机数: 0.05061456561088562第22个随机数: 0.5832998026162386 第23个随机数: 0.5474579483270645 第24个随机数: 0.2332839071750641第25个随机数: 0.24139557778835297 第26个随机数: 0.6903063058853149 第27个随机数: 0.06
12、58094584941864第28个随机数: 0.7357208002358675 第29个随机数: 0.9779284298419952 第30个随机数: 0.8805994987487793第31个随机数: 0.14512500166893005 第32个随机数: 0.4823618419468403 第33个随机数: 0.676148846745491第34个随机数: 0.9655273854732513 第35个随机数: 0.2837527394294739 第36个随机数: 0.4642836004495621第37个随机数: 0.6922862827777863 第38个随机数:
13、0.4697380065917969 第39个随机数: 0.32453639805316925第40个随机数: 0.9822797477245331 第41个随机数: 0.9375104308128357 第42个随机数: 0.754071980714798第43个随机数: 0.37458324432373047 第44个随机数: 0.9953385144472122 第45个随机数: 0.8728809058666229第46个随机数: 0.9357737898826599 第47个随机数: 0.0019500553607940674 第48个随机数: 0.6418971889652312第
14、49个随机数: 0.9732687771320343 第50个随机数: 0.06244039535522461 第51个随机数: 0.6366658974438906第52个随机数: 0.40513259172439575 第53个随机数: 0.9030920416116714 第54个随机数: 0.6825931370258331第55个随机数: 0.46118927001953125 第56个随机数: 0.14934642612934113 第57个随机数: 0.6589421965181828第58个随机数: 0.3309083878993988 第59个随机数: 0.669823691
15、2488937 第60个随机数: 0.2880648076534271第61个随机数: 0.8430035561323166 第62个随机数: 0.5570174157619476 第63个随机数: 0.7911677807569504第64个随机数: 0.7945807874202728 第65个随机数: 0.8066900372505188 第66个随机数: 0.8984738886356354第67个随机数: 0.41711509227752686 第68个随机数: 0.46234269440174103 第69个随机数: 0.6718872487545013第70个随机数: 0.255
16、0051808357239 第71个随机数: 0.3303114324808121 第72个随机数: 0.133*403625第73个随机数: 0.546215046197176 第74个随机数: 0.22170843183994293 第75个随机数: 0.905298501253128第76个随机数: 0.46648550033569336 第77个随机数: 0.9623113423585892 第78个随机数: 0.8412441909313202第79个随机数: 0.19166797399520874 第80个随机数: 0.412844*5 第81个随机数: 0.60807028412
17、81891第82个随机数: 0.760835275053978 第83个随机数: 0.5462938845157623 第84个随机数: 0.178*481293第85个随机数: 0.1224130392074585 第86个随机数: 0.20405765250325203 第87个随机数: 0.9052724689245224第88个随机数: 0.40202096104621887 第89个随机数: 0.3516557067632675 第90个随机数: 0.3114197254180908第91个随机数: 0.9590390473604202 第92个随机数: 0.536483973264
18、6942 第93个随机数: 0.7559024542570114第94个随机数: 0.25030753016471863 第95个随机数: 0.8965915888547897 第96个随机数: 0.4720103442668915第97个随机数: 0.49995581805706024 第98个随机数: 0.7387170195579529 第99个随机数: 0.11770990490913391第100个随机数: 0.40071963146328926 第101个随机数: 0.5594474226236343 第102个随机数: 0.2843315899372101第103个随机数: 0.
19、6658806651830673 第104个随机数: 0.708159476518631 第105个随机数:.0379*第106个随机数: 0.45990689285099506 第107个随机数: 0.19235043227672577 第108个随机数: 0.1795375943183899第109个随机数: 0.16856493055820465 第110个随机数: 0.5187008678913116 第111个随机数: 0.9085888713598251第112个随机数: 0.72327521443367 第113个随机数: 0.42025303840637207 第114个随机数
20、: 0.7114575654268265第115个随机数: 0.34764882922172546 第116个随机数: 0.34615056216716766 第117个随机数: 0.5689796805381775第118个随机数: 0.6712296158075333 第119个随机数: 0.06381216645240784 第120个随机数: 0.132*271687第121个随机数: 0.3812241069972515 第122个随机数: 0.2910291701555252 第123个随机数: 0.549503892660141第124个随机数: 0.176*135468 第12
21、5个随机数: 0.9618147015571594 第126个随机数: 0.6102544367313385第127个随机数: 0.2857102006673813 第128个随机数: 0.9320896863937378 第129个随机数: 0.09184214472770691第130个随机数: 0.7895979173481464 第131个随机数: 0.9945214688777924 第132个随机数: 0.9909942746162415第133个随机数: 0.6463195383548737 第134个随机数:.0858* 第135个随机数: 0.8487305231392384
22、第136个随机数: 0.6248068809509277 第137个随机数: 0.10194070637226105 第138个随机数: 0.36934706941246986第139个随机数: 0.6039867997169495 第140个随机数: 0.7243513017892838 第141个随机数: 0.5017113983631134第142个随机数: 0.533732*2 第143个随机数: 0.6369936466217041 第144个随机数: 0.9294684827327728第145个随机数:.0319* 第146个随机数: 0.9034787584096193 第14
23、7个随机数: 0.6693516969680786第148个随机数: 0.33791324496269226 第149个随机数: 0.7379481047391891 第150个随机数: 0.8822002112865448第151个随机数: 0.5720919966697693 第152个随机数: 0.01886822283267975 第153个随机数:.020*第154个随机数: 0.7189759146422148 第155个随机数: 0.5197031199932098 第156个随机数: 0.48608510196208954第157个随机数: 0.3193115592002868
24、7 第158个随机数: 0.31290365755558014 第159个随机数: 0.7808493673801422第160个随机数: 0.9285637140274048 第161个随机数: 0.4273540675640106 第162个随机数: 0.9250051230192184第163个随机数: 0.178*387878 第164个随机数: 0.6498541086912155 第165个随机数:.0852*第166个随机数: 0.11844508722424507 第167个随机数: 0.5079055652022362 第168个随机数: 0.7760627418756485
25、第169个随机数: 0.7095445692539215 第170个随机数: 0.48565971851348877 第171个随机数: 0.5109145194292068第172个随机数: 0.2137652337551117 第173个随机数: 0.4099288433790207 第174个随机数: 0.651386559009552第175个随机数: 0.5252310335636139 第176个随机数: 0.41541801393032074 第177个随机数: 0.40406930446624756第178个随机数:.0811* 第179个随机数:.0811* 第180个随机数
26、: 0.2282242253422737第181个随机数: 0.47871261090040207 第182个随机数:.022* 第183个随机数: 0.044477107003331184第184个随机数: 0.9343881867825985 第185个随机数: 0.2549167573451996 第186个随机数: 0.6202183216810226第187个随机数: 0.6029346585273743 第188个随机数: 0.9363070875406265 第189个随机数: 0.638539582490921第190个随机数: 0.4251408576965332 第191个
27、随机数: 0.5176425725221634 第192个随机数: 0.14594599604606628第193个随机数: 0.038022447377443314 第194个随机数: 0.747264226898551 第195个随机数: 0.7937638163566589第196个随机数: 0.8809123337268829 第197个随机数: 0.655353307723999 第198个随机数: 0.5302236974239349第199个随机数: 0.6581070870161057 第200个随机数: 0.8904086053371429 第201个随机数: 0.24163
28、204431533813第202个随机数: 0.188*59146 第203个随机数: 0.6193256676197052 第204个随机数: 0.46169303357601166第205个随机数: 0.784351110458374 第206个随机数: 0.6664236485958099 第207个随机数: 0.6389115452766418第208个随机数: 0.7034260332584381 第209个随机数: 0.289516806602478 第210个随机数: 0.8765210658311844第211个随机数: 0.9328273236751556 第212个随机数: 0.9528177380561829 第213个随机数: 0.4836656153202057第214个随机数: 0.8287304490804672 第215个随机数: 0.38443461060523987 第216个随机数: 0.3968378156423569第217个随机数: 0.7208439111709595 第218个随机数: 0.29079362750053406 第219个随机数: 0.9066926687955856第220个随机数: 0.3682417571544647 第221个随机数: 0.7387956827878952 第222个随机数: 0.57753
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1