面向对象编程技术大作业-阿伦方差设计报告.docxVIP

面向对象编程技术大作业-阿伦方差设计报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象编程技术大作业-阿伦方差设计报告

面向对象编程技术大作业——阿伦方差问题学 部:电信学部学 院:计算机科学与技术学院班 级:计科1406学 号 名:黄 栋 问题分析 在科学研究实验中,经常遇到对大量的实验数据的处理问题。其处理方法有很多种,但其基本的处理一般包括:求均值、方差等。假设有一检测量,其实验测量值服从正态概率密度分布,分布范围:,分布概率100%,其中是其数学期望,是该测量样本的方差,样本基本采样频率为10ms。对该采样样本,根据给定的时间间隔t0,对样本数据分段,总共(T/t0)=n段,T为整个样本对应的采样时间。每一段内的数据求平均,得到n个平均值avg(n),然后将这n个平均值组成的数组求,即该样本的t0间隔平滑方差。t0的取值为:10ms,20ms,50ms,100ms,200ms,500ms,1s,2s,5s,10s,100s等就得到一系列t0间隔的平滑方差。以t0为横坐标,为纵坐标,画出双对数曲线。所绘制的曲线应采用逻辑坐标系,保证双对数曲线所见即所得。同时支持打印和打印预览。问题中要对一组服从高斯分布的实验数据进行处理,因此要首先生成一批高斯分布的随机数,并判断产生的随机数是否在置信区间内,若不在,则将该类型数据剔除,直到生成满足条件的数为止。考虑到数据样本量较大,采用文件存取数较为方便。要针对不同分段的数据进行分类处理,读入的数据量不同,采用C++支持的STL的vector存储数据能够方便地不同数量的数据。VC6.0中的SDI程序已经支持打印及打印预览,故采用SDI编程比较方便。同时,考虑打印预览的所见即所得特性,应采用坐标转换。算法设计及部分实现首先,将高斯分布随机数生成函数,选择在置信区间内的随机数函数,文件存取函数,求阿伦方差等函数设计于一个类中。如下所示。#define BufferNum 10 #ifndef ALLENVARIANCE_HEADER#define ALLENVARIANCE_HEADERclass AllenVariance{double m_GaussMean,m_GaussVariance;//随机数方差和均值unsigned int m_GaussTotalNum,m_CountGaussNum;//样本数double GaussianNumBuffer[BufferNum];unsigned int m_SetSampleTime;vector int m_t0;public:vector double m_Variance;//求得阿伦方差vector double m_Data;private:vectordouble m_Average;//临时所求所期望值vector double m_DrawData;//阿伦方差取对数vector double m_Xaxis;//坐标标点static bool LessThan (pair double,double , pair double,double );public:vector pair double,double m_FinalData;AllenVariance ( double Mean = 0 , double Variance = 1 , unsigned int TotalNum = 2000 , unsigned int SamSet = 13){m_GaussMean = Mean;m_GaussVariance = Variance;m_GaussTotalNum = TotalNum;m_CountGaussNum = 0;m_SetSampleTime = SamSet ;SetSample ();}// 构造函数 double GaussianGenerator ();// 高斯随机数生成函数double ReGenerateGaussianNum ();//重新生成高斯随机数bool SelectStdData ( double );//判断随机数是否满足要求bool FileBuffer ();//文件读写bool WriteToFile ();//写入文件bool ReadFromFile ();//从文件读数到内存vector double ReadFromFile ( unsigned int Number );//存文件//数据bool TestGaussSize ();// 高斯随机数是否达到要求void SetSample ();// 设置采样点void DivideData ( double *arr );void DivideData ( int );// 数据分割void ProcessDivideData ( /*double *data*/ );void Pro

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档