理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$

  所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性。

用蒙特卡洛方法进行计算机模拟的步骤:
[1] 设计一个逻辑框图,即模拟模型.
[2] 根据流程图编写程序,模拟随机现象.可通过具有各种概率分布的模拟随机数来模拟随机现象.
[3] 分析模拟结果,计算所需要结果.

ex1.投针试验求$\pi$

    %蒲丰投针实验的计算机模拟
format long; %设置15位显示精度
a=1; l=0.6;    %两平行线间的宽度和针长
figure; axis([0,pi,0,a/2]); %初始化绘图板
set(gca,'nextplot','add'); %初始化绘图方式为叠加
counter=0; n=1120;     %初始化计数器和设定投针次数
x=unifrnd(0,a/2,1,n); phi=unifrnd(0,pi,1,n); %样本空间Ω
frame=moviein(n);     %建立一个1120列的大矩阵
for i=1:nif x(i)<l*sin(phi(i))/2   %满足此条件表示针与线的相交plot(phi(i),x(i),'b.');counter=counter+1; %统计针与线相交的次数frame(:,counter)=getframe; %描点并取帧end
end
fren=counter/n; pihat=2*l/(a*fren); %用频率近似计算π
disp(counter);
disp(pihat);

  

ex2.依然求$\pi$

n=10000000; a=2; m=0;
for i=1:nx=rand*a; y=rand*a;if ( (x-a/2)^2+(y-a/2)^2 <= (a/2)^2 )m=m+1;end
end
disp(['投点法近似计算的π为: ',num2str(4*m/n)]);

ex3.

在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点.经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部毁伤敌人火炮.现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。

p=0.5;m=2000;
efreq=zeros(1,m);efreq2=zeros(1,m);
randnum1 = binornd(1,p,1,m);
randnum2 = unidrnd(6,1,m);k1=0;k2=0;k3=0;
for i=1:mif randnum1(i)==0k1=k1+1;elseif randnum2(i)<=3k1=k1+1;elseif  randnum2(i)==6k3=k3+1;elsek2=k2+1;endendefreq(i)=(k2+k3)/i;efreq2(i)=(k2+2*k3)/i;
end
num=1:m;plot(num,efreq,num,efreq2)

  

转载于:https://www.cnblogs.com/elpsycongroo/p/7215619.html

[matlab]Monte Carlo模拟学习笔记相关推荐

  1. 在我方某前沿防守地域 matlab,[matlab]Monte Carlo模拟学习笔记

    理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进 ...

  2. s matlab toolbox,Matlab Robotic Toolbox工具箱学习笔记(一 )

    Matlab Robotic Toolbox工具箱学习笔记(一) 软件:matlab2013a 工具箱:Matlab Robotic Toolbox v9.8 Matlab Robotic Toolb ...

  3. matlab入门之旅,MATLAB 入门之旅学习笔记

    MATLAB 入门之旅学习笔记 https://matlabacademy.mathworks.com/R2019a/cn/portal.html?course=gettingstarted 1.概述 ...

  4. MATLAB simulink 模型验证学习笔记

    MATLAB simulink 模型验证学习笔记 一.静态验证 1.Model Advisor 模型验证意思是用matlab自带的规范检查工具来检查自己画的模型是否符合规范. 进行模型验证需要用到的模 ...

  5. 使用 Engage 或 Workspace 创建 Monte Carlo 模拟的 4 个简单步骤

    20 世纪 40 年代,研究原子弹的科学家应用 Monte Carlo 模拟计算了一个裂变铀原子引起另一个裂变反应的概率,这是该模拟的首次应用,自此以来已经取得了很大进展.今天我们将介绍如何使用 Mi ...

  6. matlab 轴gui,MatlabüGUI学习笔记(4)——公共对象属性的轴,MatlabGUI,四,常用,之,Axes...

    Matlab_GUI学习笔记(四)--常用对象的属性之Axes 1. Axes Axes意为"轴",是axis的复数.使用get函数查看Axes对象的属性,有一些属性与Figure ...

  7. matlab monte carlo,Monte Carlo Simulation

    Monte Carlo simulation is a technique used to study how a model responds to randomly generated input ...

  8. PSO粒子群算法的matlab实践【PSO学习笔记_02】

    在PSO粒子群算法[PSO学习笔记_01]_L1234X的博客-CSDN博客中,主要以介绍PSO算法的个人理解,以理论为主,本文将在此基础上进行实践. 目录 例题 对应函数图像用matlab画出为: ...

  9. Matlab用Copula模型进行蒙特卡洛(Monte Carlo)模拟和拟合股票收益数据分析

    最近我们被客户要求撰写关于Copula的研究报告,包括一些图形和统计输出. 最近,copula 在仿真模型中变得流行起来.Copulas 是描述变量之间依赖关系的函数,并提供了一种创建分布以对相关多元 ...

最新文章

  1. ICE专题:ICE起步
  2. 历届冬奥会中国金牌得主一览
  3. 【机器学习基础】优化算法详解
  4. SQL Server 自增字段重置
  5. RaDirect交换器-搭建环境
  6. Java读取word文件,字体,颜色
  7. Java 8中的可重复注释
  8. python有道字典_Python基于有道实现英汉字典功能
  9. mysql 服务器参数调优_mysql的从头到脚优化之服务器参数的调优
  10. HuaWei ❀ Radius协议概述
  11. 右脑图像记忆法原理和方法入门
  12. word每行的末尾箭头怎么去掉_Word中怎样去掉换行箭头就是一竖加个向左...
  13. excel教程自学网_收藏!这37个自学网站,一年让你省下十几万
  14. java实现幻方构造
  15. 进程管理和P V操作
  16. fMRI与MRI区别+名词解释+MRI中T1和T2的含义与区分
  17. 013 基于truffle的PetShop案例
  18. idea出现Address localhost:8082 is already in use
  19. 【渝粤教育】电大中专计算机职业素养 (2)作业 题库
  20. 弘玑创始人兼CEO高煜光获得2022上海城市数字化转型“领军先锋”决赛一等奖

热门文章

  1. oledb读不到dbf文件内容
  2. VScode配置CMAKE文件
  3. 股票移动平均线matlab,股票的移动平均线 (图文)
  4. eclipse lombok插件安装_Eclipse-安装Freemarker插件
  5. php 打开动态链接,php调用com组件-dll文件(动态链接库)
  6. python querystring encode_百分号 json
  7. vue ts 设置tslint提示_Typescript 在 Vue 中的实践(包含2.x、3.x)
  8. 宾阳 计算机 培训,宾阳县职业技术学校
  9. vs2015编译linux源码,使用Visual Studio 2017(VS2017)编译OpenCC 1.0.4 (Open Chinese Convert)源代码...
  10. 判断jQuery库是否被正确引入