Root作对数坐标图及蒙卡随机模拟

  • 说明
  • 蒙卡模拟

说明

采用root 作对数坐标图,通常会出现横坐标不是均等宽度分布,这是由于在定义historgram,在设置bin的个数和上下限时默认时均有分割,而不是按对数宽度均匀分割。为此,需要自定义bin的分割位置。

具体代码如下

  //--------对数坐标变化--------double low=1.e-8;double up=1e4;double nbin=192;Double_t xAxis[193];for ( int i=0; i <= nbin; i++) {double val_bin=low * std::pow(10., i * std::log10(up/low)/nbin);double exp_10=4.-int(std::log10(val_bin));double factor =std::pow(10., exp_10);val_bin=int(factor*val_bin)/factor;xAxis[i] = val_bin;}TH1D* h1 = new TH1D("h1","h1",192,xAxis);

蒙卡模拟

对这样的histogram 又该如何做随机蒙卡模拟呢?采用求逆的方法

  //求和和归一化double sum=0;// vals.clear();for(int ii=0;ii<192;ii++){// value=vals[ii]*(bins[ii]-bins[ii-1]);// sum = sum+value;// value=vals[ii];//*(bins[ii]-bins[ii-1]);sum = sum+vals[ii];// cout<<"  Sum"<<sum<<endl;// cout<<""<<vals[ii]<<endl;}nvals.clear();// double norm=0.;for(int iii=0;iii<192;iii++){norm = vals[iii]/sum+norm;cout<<"  norm "<<norm<<endl;// cout<<" vals"<<vals[iii]<<endl;nvals.push_back(norm);}//--------------------------// 求逆for(int j=0;j<1000000;j++){int numberOfBin=nvals.size();int nmin=0;int nmid=numberOfBin/2;int nmax=numberOfBin-1;double a=rndm.Uniform();while(nmin!=nmax-1){if(a>nvals[nmid])nmin=nmid;elsenmax=nmid;nmid=nmin+(nmax-nmin+1)/2;}double weight=(bins[nmid]-bins[nmid-1])/(nvals[nmid]-nvals[nmid-1]);double rand=bins[nmid-1]+weight*(a-nvals[nmid-1]);h1->Fill(rand);}

Root作对数坐标图及蒙卡随机模拟相关推荐

  1. 15 单因子利率模型蒙卡模拟

    15 单因子利率模型蒙卡模拟 15.1 简介 15.1.1 单因子模型蒙卡抽样 15.1.2 由抽样结果计算债券期权价格 15.2 蒙卡模拟步骤 15.2.1 蒙卡抽样利率变化路径 15.2.2 计算 ...

  2. 第9节 蒙卡模拟计算美式期权价格(b)

    第9节 蒙卡模拟计算美式期权价格(b) 9.1 简介 9.2 参数化执行边界算法 9.3 算法Python代码实现 9.4 计算示例 9.5 参考资料 9.1 简介 使用蒙卡模拟计算美式期权价格除了最 ...

  3. 第7节 蒙卡模拟计算路径依赖型期权价格

    第7节 蒙卡模拟计算路径依赖型期权价格 7.1 简介 7.2 蒙卡模拟计算回望/亚式期权算法 7.3 算法 Python 代码实现 7.4 计算示例 7.5 相关说明 7.5.1 由均匀分布产生正态分 ...

  4. 第8节 蒙卡模拟计算美式期权价格(a)

    第8节 蒙卡模拟计算美式期权价格(a) 8.1 简介 8.2 最小二乘法计算美式期权价格 8.3 算法Python代码实现 8.4 计算示例 8.5 相关说明 8.5.1 美式看涨期权不会被提前行使 ...

  5. 随机投点法计算定积分java_11 随机模拟积分 | 统计计算

    11.4 高维定积分 上面的两种计算一元函数定积分的方法可以很容易地推广到多元函数定积分, 或称高维定积分. 设\(d\)元函数\(h(x_1, x_2, \dots, x_d)\)定义于超矩形 \[ ...

  6. 基于启发式算法与单目优化和马尔科夫模型的进出口公司的货物装运策略——整数线性规划 随机模拟

    目录 进出口公司的货物装运策略 摘要 一.问题的重述 1问题的背景 2问题的提出 3目的及意义 二.符号说明 三.模型假设 四.建模准备与问题分析 4.1 线性整数规划 4.2 三维空间分割启发式算法 ...

  7. 使用计算机模拟抛硬币实验动画课件,概率论与数理统计实验2抛硬币实验的随机模拟实验报告...

    概率论与数理统计实验2抛硬币实验的随机模拟实验报告 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 <概率论与数理统计> ...

  8. 用计算机随机模拟掷骰子的实验,云南师范大学概率论实验报告随机事件的模拟--模拟掷均匀硬币的随机试验...

    云南师范大学概率论实验报告随机事件的模拟--模拟掷均匀硬币的随机试验 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 教学类捻杈告班级1 ...

  9. 随机模拟【1】:随机模拟的研究范围与特征

    本系列同步发布于本人的知乎专栏:确定性随机 最新想开始再系统学习一次数理统计和随机过程方便的知识,但是耽搁了一段时间,主要原因是不知道从哪里开始.最近,刚好在网上"随机"地买了一本 ...

最新文章

  1. Nature综述:进化病毒毒力的系统发育基因组学
  2. 用VS Code直接浏览GitHub代码 | 12.1K星
  3. WinCvs 操作参考手册
  4. 2019“编程的夏天”完美收官!这些00后点燃了这个盛夏
  5. c++ primer文本查询程序 自编加强版(c++primer5th 练习12.32-33)
  6. oracle 基本异常的练习及各个错误码
  7. matlab 30案例 目录,MATLAB-智能算法30个案例分析-终极版(带目录).doc
  8. 【王道考研计算机网络】—OSI参考模型
  9. 云服务器工具大全,云服务器主要的登陆方法有哪些
  10. effective java 第2条:遇到多个构造器参数时要考虑用构造器
  11. 关于configure: error: no acceptable C compiler found in $PATH
  12. vlan理论03-vlan映射
  13. 【洛谷3368】树状数组模版题(区间修改,单点查询)
  14. Labview与三菱PLC通讯 (2)
  15. RESTfull API简单项目的快速搭建
  16. webfont.woff2和webfont.woff下载超时报404错误
  17. java计算机毕业设计springboot+vue度假山庄酒店管理系统
  18. Ubuntu格式化U盘以及分区
  19. 生物科学与计算机科学计算案例,北京林业大学计算生物学与生物信息学考研经验-生物科学技术辅导...
  20. Android商城开发系列(九)—— 首页频道布局的实现

热门文章

  1. IDEA git配置
  2. 计算机专业助我成长400字作文,坚持伴我成长作文400字(通用10篇)
  3. java实现StringBuffer小案例
  4. tiktok设备注册
  5. 企业信息安全很重要?私有化部署为企业信息保驾护航
  6. vmware horizon桌面云部署
  7. pgbackrest配置监控、冗余策略
  8. 利用树莓派制作人体感应监控器
  9. 治疗脱发需要多少钱?如何选择合适的治疗方案?
  10. QUANT[1]:从零开始量化交易