matlab怎么用for语句求圆周率

如题所述

matlab怎么用for语句求圆周率? 由莱布尼兹级数可知,π/4=1-1/3+1/5-1/7+······

所以,我们通过for和while循环语句来求解。求解方法如下:

1、首先写出用∑求和符号表示的表达式,即

∑(-1)^j*(1/n)

2、用for循环语句,写出求解其和的累加值,即

S=0;

for i=1:100 %这里100是可变的值

S=S+(-1)^j*(1/n)

end

3、计算π值,即

π=4S

4、可执行的代码如下

clear all,clc

%莱布尼兹级数

S=0;

for n=1:10000

S=S+(-1)^(n-1)*(1/(2*n-1));

end

PI_value=4*S

%梅钦公式

S=0;

for n=1:100

S=S+(-1)^(n-1)*(4*(1/5)^(2*n-1)/(2*n-1)-(1/239)^(2*n-1)/(2*n-1));

end

PI_value=4*S

5、扩展知识

从上述运行结果来看,用莱布尼兹级数和梅钦公式计算π值,梅钦公式比莱布尼兹级数收敛比较快,但两者的计算精确位数为15)。

温馨提示:答案为网友推荐,仅供参考
相似回答