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<=1
 s = s+1;
 end

end
pai = s/n*4

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值