matlab用蒙特卡洛法计算圆周率
设有宽度为1的正方形,其中有一半径为0.5的圆内接这个正方形,随机生成一定数量的点,落在圆内的点的数量和落在圆外点的数量的比值k即为π/4,我们只需要求出k的值,即可根据π=k*4即可求得圆周率。
参考资料:http://www.ruanyifeng.com/blog/2015/07/monte-carlo-method.html
代码如下:
% kkk=[];
% for i=1:10clc
dota=1000;
x=rand(1,dota);
y=rand(1,dota);
plot(x,y)
dis=[];
for i=1:length(x);
k=sqrt((x(i)-0.5)^2+(y(i)-0.5)^2);
dis=[dis,k];
end
count=0;
for i=1:length(dis)
if dis(i)<0.5count=count+1;plot(x(i),y(i),'color','red','marker','o','linestyle','none')hold on
elseplot(x(i),y(i),'color','blue','marker','o','linestyle','none')
end
end
qw=count/length(x);
disp('随机点个数:')
disp(dota)
disp('圆周率:')
disp(qw*4)
% kkk=[];
% kkk=[kkk,qw*4];
% end
% disp(kkk)
% jugg=((abs(pi-kkk))./pi)*100;
% plot(jugg)
% ylabel('相对误差百分比(%)')
matlab用蒙特卡洛法计算圆周率相关推荐
- 蒙特卡洛法计算圆周率近似值(C语言)
C语言实现蒙特卡洛法计算圆周率近似值 随机生成ALL个范围0-1的数来模拟1×1的正方形,计算位于四分之一圆(X×X+Y×Y<1)内的个数inround,PI=4×ALL/inround.其中宏 ...
- 【python】蒙特卡洛法计算圆周率pi
描述 蒙特卡洛(Monte Carlo)方法是由数学家冯·诺伊曼提出的,诞生于上世纪40年代美国的"曼哈顿计划".蒙特卡洛是一个地名,位于赌城摩纳哥,象征概率.蒙特卡洛方法的原理是 ...
- 用随机投点法计算pi值matlab,用蒙特卡洛法求圆周率PI的近似值,其算法如下:使用随机函数Rnd,随机生成两个[0,1)之间的随机数,由此构成一个投点坐标(x,y),然后根据x...
(2) 实现上述功能的VB程序如下,请在划线处填入合适代码. Private Sub Command1_Click() Dim m1 As String, m2 As String, sum As S ...
- MATLAB多种方法计算圆周率(pai)
目录 一.利用无穷级数展开式求π的近似值 (1)方法一 (2)方法二:优化 二.利用定积分的近似值求π的近似值 求定积分的三种方法:矩形法,梯形法,simpson法 三.利用蒙特卡洛法求π的近似值 一 ...
- 蒙特卡洛法模拟计算圆周率π
一.蒙特卡洛法介绍 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是一种以概率统计理论为基础的数值计算方法,常用于特定条件下的概率计算问题.蒙特卡罗是摩纳哥的著名赌城,该法 ...
- matlab或_如何利用MATLAB计算圆周率
圆周率是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数.π也等于圆形之面积与半径平方之比.是精确计算圆周长.圆面积.球体积等几何形状的关键值. MATLAB中的表 ...
- 求pi的数学模型matlab计算pi,MATLAB实验-pi的计算 圆周率的近似计算 数学软件与数学实验 教学课件.ppt...
MATLAB实验-pi的计算 圆周率的近似计算 数学软件与数学实验 教学课件 1.圆周率π的计算历程 所谓"圆周率"是指一个圆的周长与其直径的比值.古今中外,许多人致力于圆周率的研 ...
- 蒙特卡洛法计算机械臂工作空间matlab
蒙特卡洛法计算机械臂工作空间matlab 前言 代码分析 1. 利用改进DH参数建立Franka的模型 2. 蒙特卡洛法求工作空间 前言 以Franka emika七轴机械臂为例,利用蒙特卡洛法在ma ...
- python计算圆周率(蒙特卡洛法/模拟法、统计法/穷举法、BBP公式)
def calculatePI1(): #模拟统计法:蒙特卡罗方法计算圆周率import random as r #导入random模块命名为rimport math as m #导入math模块命名 ...
最新文章
- atoi,atol,strtod,atof
- Android 10.0 PackageManagerService(一)工作原理及启动流程-[Android取经之路]
- python生成折线图-Python数据可视化 -生成数据之绘制折线图和散点图
- SpringCloud中父子pom的结构和写法
- Java之BIO NIO AIO区别联系
- 漫谈边缘计算(二):各怀心事的玩家
- 遥远的救世主:电视剧《天道》
- Spring MVC验证器:Validator接口和ValidationUtils类
- Spring RCE 漏洞 CVE-2022-22965 的终极解决方案
- 李沐老师的PyTorch 版《动手学深度学习》PDF 开源了(全中文,支持 Jupyter 运行)
- mid、mif文件转shapefile、geojson等格式的数据
- 电脑32位和64位有什么区别
- 网课作业答案在哪找?手把手教你查大学网课作业答案~
- 音响无声或声音不正常的原因有哪些?
- 洛谷P1308统计单词数C语言
- 小甲鱼python入门笔记(一)(全)
- outlook你的邮件服务器证书无效,Outlook添加网易邮箱账号提示服务器的加密连接不可用的解决方法...
- 一个小白的Thingworx成长记录
- BUUCTF:镜子里面的世界
- Keras之TCN:基于keras框架利用时间卷积网络TCN算法对上海最高气温实现回归预测(把时间序列数据集转化为有监督学习数据集)案例