下面来介绍一下如何在MATLAB中通过程序来推导出圆周率π的近似值,具体如下:
用计算机产生[0,1]区间的均匀随机数,随机数落在区域B内的概率与随机数落在正方形内概率之比应为π/4,由此可以粗略地推算出圆周率π的值,过程如下:
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、命名保存至自定义路径下,点击运行,结果如下:
3、经过多次计算,得到下表:
从表中可以看出,当计算机产生随机数的个数越多时,π的值就越接近真实值,但毕竟是属于计算机模拟求解,还是存在一定误差的,因此在实际运用中需合理选择,请大家继续关注!!!