MATLAB多种方法计算圆周率(pai) 您所在的位置:网站首页 近似值计算公式 MATLAB多种方法计算圆周率(pai)

MATLAB多种方法计算圆周率(pai)

2024-06-03 14:46| 来源: 网络整理| 查看: 265

目录

一、利用无穷级数展开式求π的近似值

 (1)方法一

(2)方法二:优化

二、利用定积分的近似值求π的近似值

求定积分的三种方法:矩形法,梯形法,simpson法

三、利用蒙特卡洛法求π的近似值

一、利用无穷级数展开式求π的近似值

 (1)方法一 y = 0; g = -1; n = input('n=?'); for i = 1:n g = -g; y = y+g*1/(2*i-1); end pai = 4*y

 易错点:2*i 的*不能丢

(2)方法二:优化

 向量计算方法写出的程序更简洁,更具matlab特点

n = input('n=?'); x = 1:2:(2*n-1); y = (-1).^(2:n+1)./x; pai = sum(y)*4 二、利用定积分的近似值求π的近似值

求定积分的三种方法:矩形法,梯形法,simpson法

这里我们用梯形法,其他可以同理举一反三

a = 0; b = 1; n = input('n=?'); h = (b - a) / n; x = a : h : b; f = sqrt(1-x.*x); s = [ ]; for k = 1: n s1=(f(k)+f(k+1))*h/2; s= [s,s1]; end pai=4 * sum(s)

n:把积分区间分成n等分

h:计算每个区间的宽度

s:上底+下底(梯形面积公式)

三、利用蒙特卡洛法求π的近似值

 原理:随机投点,点在圆内的概率P=π/4

所以能求出P就能求出π

s = 0; n = input('n=?'); for i = 1:n x = rand(1); y = rand(1); if x*x+y*y


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有