[matlab]Monte Carlo模拟学习笔记
理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\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模拟学习笔记相关推荐
- 在我方某前沿防守地域 matlab,[matlab]Monte Carlo模拟学习笔记
理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进 ...
- s matlab toolbox,Matlab Robotic Toolbox工具箱学习笔记(一 )
Matlab Robotic Toolbox工具箱学习笔记(一) 软件:matlab2013a 工具箱:Matlab Robotic Toolbox v9.8 Matlab Robotic Toolb ...
- matlab入门之旅,MATLAB 入门之旅学习笔记
MATLAB 入门之旅学习笔记 https://matlabacademy.mathworks.com/R2019a/cn/portal.html?course=gettingstarted 1.概述 ...
- MATLAB simulink 模型验证学习笔记
MATLAB simulink 模型验证学习笔记 一.静态验证 1.Model Advisor 模型验证意思是用matlab自带的规范检查工具来检查自己画的模型是否符合规范. 进行模型验证需要用到的模 ...
- 使用 Engage 或 Workspace 创建 Monte Carlo 模拟的 4 个简单步骤
20 世纪 40 年代,研究原子弹的科学家应用 Monte Carlo 模拟计算了一个裂变铀原子引起另一个裂变反应的概率,这是该模拟的首次应用,自此以来已经取得了很大进展.今天我们将介绍如何使用 Mi ...
- matlab 轴gui,MatlabüGUI学习笔记(4)——公共对象属性的轴,MatlabGUI,四,常用,之,Axes...
Matlab_GUI学习笔记(四)--常用对象的属性之Axes 1. Axes Axes意为"轴",是axis的复数.使用get函数查看Axes对象的属性,有一些属性与Figure ...
- matlab monte carlo,Monte Carlo Simulation
Monte Carlo simulation is a technique used to study how a model responds to randomly generated input ...
- PSO粒子群算法的matlab实践【PSO学习笔记_02】
在PSO粒子群算法[PSO学习笔记_01]_L1234X的博客-CSDN博客中,主要以介绍PSO算法的个人理解,以理论为主,本文将在此基础上进行实践. 目录 例题 对应函数图像用matlab画出为: ...
- Matlab用Copula模型进行蒙特卡洛(Monte Carlo)模拟和拟合股票收益数据分析
最近我们被客户要求撰写关于Copula的研究报告,包括一些图形和统计输出. 最近,copula 在仿真模型中变得流行起来.Copulas 是描述变量之间依赖关系的函数,并提供了一种创建分布以对相关多元 ...
最新文章
- ICE专题:ICE起步
- 历届冬奥会中国金牌得主一览
- 【机器学习基础】优化算法详解
- SQL Server 自增字段重置
- RaDirect交换器-搭建环境
- Java读取word文件,字体,颜色
- Java 8中的可重复注释
- python有道字典_Python基于有道实现英汉字典功能
- mysql 服务器参数调优_mysql的从头到脚优化之服务器参数的调优
- HuaWei ❀ Radius协议概述
- 右脑图像记忆法原理和方法入门
- word每行的末尾箭头怎么去掉_Word中怎样去掉换行箭头就是一竖加个向左...
- excel教程自学网_收藏!这37个自学网站,一年让你省下十几万
- java实现幻方构造
- 进程管理和P V操作
- fMRI与MRI区别+名词解释+MRI中T1和T2的含义与区分
- 013 基于truffle的PetShop案例
- idea出现Address localhost:8082 is already in use
- 【渝粤教育】电大中专计算机职业素养 (2)作业 题库
- 弘玑创始人兼CEO高煜光获得2022上海城市数字化转型“领军先锋”决赛一等奖
热门文章
- oledb读不到dbf文件内容
- VScode配置CMAKE文件
- 股票移动平均线matlab,股票的移动平均线 (图文)
- eclipse lombok插件安装_Eclipse-安装Freemarker插件
- php 打开动态链接,php调用com组件-dll文件(动态链接库)
- python querystring encode_百分号 json
- vue ts 设置tslint提示_Typescript 在 Vue 中的实践(包含2.x、3.x)
- 宾阳 计算机 培训,宾阳县职业技术学校
- vs2015编译linux源码,使用Visual Studio 2017(VS2017)编译OpenCC 1.0.4 (Open Chinese Convert)源代码...
- 判断jQuery库是否被正确引入