2函数 matlab_如何利用MATLAB计算圆周率

圆周率是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。

4879602f987347095a107b48505461ce.gif

MATLAB中的表达式pi返回值最接近基本常数π的浮点数。但是要注意,MATLAB中定义的pi与基本常数π之间的微小差异会导致计算结果出现微小的误差。例如,表达式sin(pi)(期望返回0)实际上在MATLAB中返回1.2246e-16。用户可以通过将sin(pi)的结果四舍五入来减小此误差带来的影响。

c7963ffb7c6c3a7d110aff2c85e5a277.png

下面介绍如何利用MATLAB来计算圆周率的方法和示例:

1.作图法

利用MATLAB的作图函数plot画出sin(x)的曲线和y=0的直线,求出两条线的交点横坐标即得圆周率的近似值。程序代码如下:

f60258af113ac63ee05a4b482fef04cf.png

上面的程序代码运行后,对所产生的二维线图中交点附近进行放大过程如下:

fda8939a88ffd965ce9466f5c72c4568.gif

可以看出交点的横坐标在3.141592至3.141593之间。

2.数值求根法

利用fzero()对函数sin(x)在3附近的根进行数值求解,即可得到pi的近似值。

aef352ec1776ae1fbf9a418e4435bfe5.png

3.极值法

利用函数sin(x)在pi/2附近为极大值的特点,调用max()进行求解

ff946564189cb6c38c6c31bbe5c121d7.png

4.数值积分法

利用四分之一圆的数值积分公式,调用数值积分函数quad()进行求解

23763b6b718889de2cbcf3ac5726ce36.gif

MATLAB命令行窗口程序如下:

bfe8d09e84e9e8917926f3333bc56624.png

quad()和dblquad()分别是一维和二维的数值积分计算函数,新版的MATLAB建议用integral()和integral2()函数来替代。

5.蒙特卡洛法

蒙特卡洛法计算pi的原理如下面视频所示

MATLAB程序代码如下:

1ae616a343987b1e97db751769a416ff.png

程序运行后可以得到

4ac8df116c2933feda8758f712fe68a1.png

6.级数法

MATLAB程序代码如下:

bc8bac28e42276cb42b87fbf7c4f49c8.png

在MATLAB命令行窗口调用函数chud_pi()可以得到如下结果

1d9d58bbc1a7d36e2696176b87074083.png

7.调用vpa()函数

直接调用vpa()函数可以显示pi的小数点后众多位数。

b5b4c80166bd8a99beb5a47d78a62807.png

以上内容部分选自2019年最新出版的《高等光学仿真(MATLAB)——光波导,激光(第3版)》,欢迎参考(点击下方图片了解更多)。

ece2dbd251da4a6c6982c29d1456eaa2.png

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值