MATLAB实现模拟推导π的值

下面来介绍一下如何在MATLAB中通过程序来推导出圆周率π的近似值,具体如下:

用计算机产生[0,1]区间的均匀随机数,随机数落在区域B内的概率与随机数落在正方形内概率之比应为π/4,由此可以粗略地推算出圆周率π的值,过程如下:

MATLAB实现模拟推导π的值_第1张图片

1、由之前的正方体嵌套圆的基础上,在MATLAB的主界面编辑器中写入下列代码:

%本例没有使用循环语句而是将相关量矢量化
%程序运行前在“file”菜单下“preferences”将输出格式调成“long”形式
clc;
clear all;
n=1000000;
a=rand(n,1);
%必须用rand指令而不能用randn指令因为产生的随机数必须是均匀的
b=rand(n,1);
c=find(a.^2+b.^2<=1);
d=length(c);
pi_value=d/n*4

2、命名保存至自定义路径下,点击运行,结果如下:

MATLAB实现模拟推导π的值_第2张图片

3、经过多次计算,得到下表:

MATLAB实现模拟推导π的值_第3张图片

从表中可以看出,当计算机产生随机数的个数越多时,π的值就越接近真实值,但毕竟是属于计算机模拟求解,还是存在一定误差的,因此在实际运用中需合理选择,请大家继续关注!!!

你可能感兴趣的:(MATLAB,算法处理)