版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 系统仿真与虚拟现实系统仿真与虚拟现实 实实 验验 报报 告告 学院名称学院名称 软件学院软件学院 专专 业业 软件工程软件工程 学生姓名学生姓名 杨静杨静 学学 号号 3010218158 年年 班班 级级 2010 级四班级四班 2013 年年 4 月月 22 日日 2 目录 一、随机数生成算法 1、实验内容.4 2、实验原理.4 3、实现方法.5 二、VRML 建模试验 1、实验内容.13 2、实验原理.13 3、实现方法.13 三、MATLAB 基本实验:MATLAB 基本操作 1、实验内容.17 2、实验原理.17 3、实现方法.18 四、MATLAB 进阶实验:单窗口服务模型模拟
2、.26 1、实验内容.26 2、实验原理.26 4、实现方法.26 3 5、实验结果与结果分析.28 三、总结与展望.28 4 一、随机数生成算法一、随机数生成算法 1、实验内容 参考教材系统仿真导论DEDS01.c 程序 利用该程序对如下 PMMLCG 进行 x2均匀性检验及独立性检验(=0.05) Zi = 16807Zi-1(mod231-1) 样本点 n = 10000 K = 10 (均匀性) N = 1000 j = 1 (独立性) 修改该程序中的随机数发生器程序,实现对如下组合发生器进行 x2 均匀性 检验及独立性检验( = 0.05) Zi = 25173Zi-1 + 1384
3、9 (mod 65536) Z0 = 1.0 Zi2 = Zi-12 + Zi-22 (mod 128) Z02 = 1.0 Z-12 = 1.0 样本点数:n = 5000K = 10 (均匀性) N = 1000j = 1(独立性) 2、实验原理 均匀性检验:要求由随机数发生器产生的伪随机数 Ui 能均匀的分布在 0.1区间内。 最常用的方法是频率检验:将随机数发生器的取值范围0,1 分成 K 个互不重叠的等长子区间,由该随机数发生器产生 N 个随机数 Ui(i=1,2,,N)按照均匀性的要求,随机数在每 一个子区间上的概率 P=1/K,即在每一个子区间上的随机数的 个数理论值为 n=N/
4、K。实际上 Ui 在每一个子区间上的个数不 会恰好等于 n,而为 nj(j=1,2,K)这样就会有偏差。 频率检验就是检验实际频率与理论频率之间的偏差大小,一 般用 2 检验 : 显然,若 nj = n 则 2 等于 0,实际频率与理论频率一致, 2 大小反映了偏差程度,也就是随机数的均匀程度。 独立性检验:独立性检验常用的方法是计算该序列相邻一定间隔的随机数 之间的相关系数,然后判断其相关程度。因为相关系数为 0 是两个随机变量相互独立的必要条件,其值的大小可以评价 相关程度 对于给定的随机数发生器,由它产生 N 个随机数 Ui,则前后 相隔为 j 个数的相关系数均值为: 其中 S2 为随机
5、数的方差: 5 3、算法设计 均与性检验:2 检验 1:原假设 H0:给定随机数发生器产生的 Ui 是独立同分布 U(0,1)的随 机变量; 2:将0,1分成 K 个等长子区间; 3:由该随机数发生器产生 N 个随机数 Ui; 4:统计计算在每个子区间上随机数的个数 nj; 5:计算2: 独立性检验: 1:原假设 H0:给定随机数发生器产生的 Ui 是独立同分布 U(0,1)的 随机变量,即 =0; 2:由该随机数发生器产生 N 个随机数 Ui,并计算 j 的均值; 3:若 Nj 充分大(一般要50),取统计量: 渐进服从标准正态分布 N(0,1); 4:给定检验水平 ,记 Z1- 为 N(0
6、,1)的上 1- 的临界点,则当 组合发生器: 1:由 Z1 产生 128 个随机数 U1,形成数组 V=(U11,U1128) 2:由 Z2 产生在1,128上分布的随机整数 I,返回 UI 作为组合发生器 的第一个随机数; 3:由 Z1 产生一个随机数取代 UI; 4:由 Z2 生成新的 I,依次下去; 4、实现方法 第一部分: /*= The program is used to test the uniform and the dependence of a random generator. */ #include #include #include int SUB1(); 6 do
7、uble SUB2(); int nvalue; double probd25; long int a1,c1,m1,x1; int main(void) int i,m; float mn; int ntypes,nx20,number,number1; long int z0,a0,c0,m0,x0; double x,xx1,y,yy1,yy2,ro1,ro2; double xka2,squ; /* =Following is to test the uniform=*/ printf(n Following is to test the uniform.); printf(n Inp
8、ut the number of area:); scanf(%d, printf(n Input the number of random variable:); scanf(%d, printf(n a,c,m is the parament of the random generator;); printf(n z0 is the seed of this random generator.); printf(n Input a,c,m,z0=); /segmentaion fault scanf(%d,%d,%d,%d, printf(something wrong); a0 = a1
9、; c0 = c1; m0 = m1; x0 = x1; z0 = x1; x = 1.0 / ntypes; probd1 = x; for(i = 2; i = ntypes; i+) probdi = x + probdi-1; for(i = 1; i = ntypes; i+) nxi = 0; nvalue = ntypes; for(i = 1; i = number; i+) m = SUB1(); nxm = nxm + 1; mn = (float)number / (float)ntypes; xka2 = 0.0; for(i = 1; i = ntypes; i+)
10、7 squ = nxi - mn; xka2 += squ * squ / mn; printf(n a = %f, c = %f, m = %d, z0= %f,); printf(n The number of random = %d,a1,c1,m1,z0,number); for(i = 1; i = ntypes; i+) printf(n Number(%d) = %d,i ,nxi); printf(n CHI-SQUARE=%f,xka2); /*=Following is to test the independence=*/ printf(n Following is to
11、 test the independence.); printf(n Input the number of random variable1); scanf(%d, a1 = a0; c1 = c0; m1 = m0; x1 = x0; z0 = x1; x = SUB2(); yy1 = 0.0; yy2 = x; xx1 = (x - 0.5) * (y - 0.5); for(i = 2; i = number1 ; i+) y = SUB2(); xx1 += (y - 0.5) * (y - 0.5); yy1 += x * y; yy2 += y; x = y; yy1 /= (
12、number1 - 1.0); yy2 /= number1; yy2 *= yy2; xx1 /= (number1 - 1.0); ro1 = (yy1 - yy2) / xx1; ro2 = fabs(ro1) * sqrt(number - 1.0); printf(n Ro = %f,u = %f, ro1,ro2); printf(n =Simulation Results=); printf(n n a = %f, c = %f, m = %d, z0=%f, a1,c1,m1,z0); printf(n =The Uniform=); for(i = 1; i = ntypes
13、; i+) printf(n Number(%d)= printf(n Total_number = %d, cCHI_SQYARE=%f,number,xka2); 8 printf(n =The Independence=); printf(n Number of samples=%d RO = %f u = %f,number1,ro1,ro2); return 0; int SUB1() double u; int i; u = SUB2(); for(i = 1; i nvalue; i+) if(u probdi) return(i); return (nvalue); doubl
14、e SUB2() x1 = (a1 * x1 + c1) % m1; return(double) x1 / (double) m1); 第二部分: /*= The program is used to test the uniform and the dependence of a random generator. */ #include #include #include int SUB1(); double SUB2(); int nvalue; double probd25; int V128; int Zi = 0; int main(void) int i,m; float mn
15、; int ntypes,nx20,number,number1; long int z0,a0,c0,m0,x0; double x,xx1,y,yy1,yy2,ro1,ro2; double xka2,squ; printf(n Input the number of area:); 9 scanf(%d, x = 65536/ ntypes; probd1 = x; for(i = 2; i = ntypes; i+) probdi = x + probdi-1; for(i = 1; i = ntypes; i+) nxi = 0; nvalue = ntypes; for(i = 1
16、; i = 128; i+) m = SUB1(); nxm = nxm + 1; mn = (int)128 / (int)ntypes; xka2 = 0.0; for(i = 1; i = ntypes; i+) squ = nxi - mn; xka2 += squ * squ / mn; for(i = 1; i = ntypes; i+) printf(n Number(%d) = %d,i ,nxi); printf(n CHI-SQUARE=%f,xka2); /*=Following is to test the independence=*/ printf(n Follow
17、ing is to test the independence.); printf(n Input the number of random variable1); scanf(%d, x = (double)SUB3()/65535; yy1 = 0.0; yy2 = x; xx1 = (x - 0.5) * (y - 0.5); for(i = 2; i = number1 ; i+) y = SUB3()/65535; xx1 += (y - 0.5) * (y - 0.5); yy1 += x * y; yy2 += y; x = y; yy1 /= (number1 - 1.0);
18、10 yy2 /= number1; yy2 *= yy2; xx1 /= (number1 - 1.0); ro1 = (yy1 - yy2) / xx1; printf(n Ro = %f, ro1); printf(n =The Uniform=); for(i = 1; i = ntypes; i+) printf(n Number(%d)= %d,i,nxi); printf(n ); printf(n Total_number = %d, cCHI_SQYARE=%f,number,xka2); printf(n =The Independence=); printf(n Number of samples=%d RO = %f ,number1,ro1); return 0; int SUB1() double u; int i; u = SUB3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030纺织品产业智能制造转型行业市场竞争态势分析及投资效益评估规划研究分析报告
- 2025-2030福建智能家居制造产业供需格局及投资评估规划分析研究报告
- 2025-2030磁悬浮列车驱动系统行业市场现状供需分析及投资评估规划分析研究报告
- 企业研发项目管理与团队协作指南
- 2026江西吉安市吉州区园投人力资源服务有限公司招聘短期临时性辅助人员25人考试参考题库及答案解析
- 2025山西省第二人民医院公开招聘合同制工作人员22人笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2025山东阳昇置业有限公司公开选聘工作人员(2人)笔试参考题库附带答案详解
- 2025安徽安庆岳西县事业单位公开招聘工作人员(医疗岗4人)笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2025内蒙古鄂尔多斯正源实业集团招聘笔试参考题库附带答案详解
- 2025云南省精神病医院面向社会公开招聘编外人员招聘10人笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2026四川成都市简阳市招聘四级城乡社区工作者65人考试备考题库及答案解析
- 2026年1月浙江省高考(首考)化学试题(含标准答案及解析)
- 2025年河北省公务员考试行测试卷真题附答案详解
- 中国移动社会招聘在线笔试题
- 全屋定制讲解方案
- 上海市奉贤区2026届初三一模英语试题(含答案)
- 《电力系统继电保护及应用》课件-110kv线路保护配置-双语
- 餐饮厨房消防安全培训
- 2025年全国计算机一级考试题库及答案
- GB/T 16271-2025钢丝绳吊索插编索扣
- 仓储害虫培训课件
评论
0/150
提交评论