MATLAB多种方法计算圆周率(pai) | 您所在的位置:网站首页 › 近似值计算公式 › MATLAB多种方法计算圆周率(pai) |
目录 一、利用无穷级数展开式求π的近似值 (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 实验室设备网 版权所有 |