版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、随机模拟与实验上机实验报告 通信0809 潇洒哥 学号 一. 随机模拟的典型步骤: 1、根据问题构建模拟系统 2、仿真系统中各种分布的随机变量3、运行模拟系统,进行统计测量 4、分析数据,输出结果二主要工具基本工具:c、c+等编程模拟、matlab网络模拟:opnet modeler、ns2:大型网络仿真 cassap:数字信号处理;spw:电子系统三编译代码/ myrand.cpp: implementation of the cmyrand class./#include "stdafx.h"#include "random.h"#include &
2、quot;myrand.h"#include "math.h"#ifdef _debug#undef this_filestatic char this_file=_file_;#define new debug_new#endif/ construction/destruction/cmyrand:cmyrand()cmyrand:cmyrand()void cmyrand:myrandinit(void)n = 0x7fffffff; /231-1k = 16807; /75seed = 2;/*函数功能,采用线性同余法,根据输入的种子数产生一个伪随机数,如果
3、种子不变, 则将可以重复调用产生一个伪随机序列实现思路:利用cmyrand类中定义的全局变量:s, k, n, y。其中k和n为算法参数,s用于保存种子数,y为产生的随机数,第一次调用检查将seed赋值与s获得y的初值,之后调用选择rand()函数赋值与y。*/unsigned int cmyrand:myrand(unsigned int seed)if(s != seed)s = seed;y = (seed * k) % n;elsey = (y * k) % n;if(y = 0)y = rand();return y;/*函数功能,产生一个在minmax范围内精度为4位小数的平均分布
4、的随机数实现思路:min和max代表该均匀随机变量的取值范围,精确到小数点后4位。该参数在randomdlg.cpp中onaverage ()和onaveragestat()函数中已经设置,因此只需将该数小数点右移四位强制取整即可获得整数范围内的随机数,采用对(max-min)求余再加上min并将获得的结果缩小10000倍即可。*/double cmyrand:averagerandom(double min,double max)int mininteger = (int)(min*10000);int maxinteger = (int)(max*10000);int randintege
5、r = myrand(seed);int diffinteger = maxinteger - mininteger;int resultinteger = randinteger % diffinteger + mininteger;return resultinteger/10000.0;/*函数功能,在min 到max 范围内产生正态分布的随机数miu,最大概率密度处的随机变量,即产生的随机数中,概率最大的那个sigma实现思路:设由averagerandom函数获得01间隔均匀分布随机数u(0,1),i=1,2,n,且相互独立,由中心极限定理可知,当n较大时*/double cmyra
6、nd:normalrandom(double miu, double sigma, double min, double max)double dresult;dresult = 0;for(int i=0;i<12;i+)dresult += averagerandom(min,max);dresult = (dresult-6)/(max-min);dresult = dresult*sigma + miu;return dresult;/*函数功能,产生指数分布的随机数实现思路: 1)用averagerandom产生均匀分布随机数ui; 2)计算指数分布随机数:xi=-ln ui
7、/*/double cmyrand:exprandom(double lambda, double min, double max)double dresult = 0.0;while(dresult < 0.01)dresult = averagerandom(min,max);dresult = -1.0*log(dresult) / lambda;return dresult;/*函数功能,产生泊松分布的随机数实现方法:利用递归法*/unsigned int cmyrand:poisonrandom(double lambda, double min, double max)uns
8、igned int dresult;double u = averagerandom(min,max);int i = 0;double p = exp(-1*lambda);double f = p;while(u >= f)p = lambda*p/(i+1);f += p;i +;dresult = i;return dresult;/*函数功能,计算任意分布的随机过程的均值实现过程:用for语句调用任意函数加和循环再求平均*/double cmyrand:ex(void)int m;double ex=0.0;/添加均值计算代码for (m=0; m<1000; m+)ex
9、 += normalrandom(0,1.2, 0,1);return ex/1000;/*函数功能,计算随机过程的自相关序列实现过程:由平稳随机过程数字特征求解的相关原理可得rx(m)=i2e-2|m|; */double* cmyrand:rx(double lambda, int points)int m,i=5;double *rx = (double*)malloc(2*points+1)*sizeof(double);/添加自相关序列产生代码/产生的自相关序列存入rx中,rx可当作数组使用/不要在本函数中释放该数组!for (m=-points; m<=points; m+)rx(m+points) = i * i * exp(-2 * lambda * abs(m);return rx;4 执行截图均匀分布均匀统计正态分布正态统计指数分布指数统计泊松分布泊松统计均值(此时取normalrandom(0,1.2, 0,1))自相关(此时取int m,i=5;)5 实验心得1. 该课程设计所设计的各种模块和原理与随机过程的理论知识紧密结合。所以这样与课本知识关联紧的课程实际比较容易完成,同时不仅加强了对书本基础知识的理解,而且实践环节得到了很好的锻炼,能够激发实践者对随机的兴趣甚至能够自己动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度公益岗位用工合作协议3篇
- 2025年度电商平台会员消费返利协议3篇
- 2025年度废塑料瓶回收与环保瓶盖生产合同样板3篇
- 二零二五年度农机智能化作业合同书3篇
- 二零二五年度电子信息产品开发合作协议书2篇
- 二零二五年度消防安全风险评估与整改方案协议3篇
- 农村土地经营权抵押贷款担保合同
- 2025年度医药研发人员竞业禁止劳动合同书3篇
- 2025年度餐饮业食品安全责任书3篇
- 二零二五年度历史文化名城拆迁房产分割与文物保护合同3篇
- 手术室发生地震应急预案演练
- 配合、协调、服务方案
- 市政工程监理大纲
- 2023-2024学年广东省广州市黄埔区六年级(上)期末数学试卷(A卷)
- 初中数学新课程标准(2024年版)
- 2024年北京市学业水平合格性地理试卷(第一次)
- 黑龙江哈尔滨六中2025届高三第六次模拟考试数学试卷含解析
- GB/T 36547-2024电化学储能电站接入电网技术规定
- 会议记录培训教材课件幻灯片
- 期末测试卷(一)2024-2025学年 人教版PEP英语五年级上册(含答案含听力原文无听力音频)
- 2024-2030年中国薯条行业发展趋势及投资盈利预测报告
评论
0/150
提交评论