用matlab写程序求圆周率(精度e=10^-7),求大神帮助,万分感谢

2025年05月09日 17:42
有1个网友回答
网友(1):

圆周率的计算方法很多,我提供一个:
n=1;
absol=0.1;
while
absol>1e-7
syms
a
for
i=1:n
a=sqrt(2-sqrt(4-a^2));
end
a=subs(a,'a','1');
y=3*2^n*vpa(a,n+5);
absol=abs(double(pi-y));
disp('绝对误差大于1e-7,再计算')
n=n+1;
end
disp('绝对误差小于1e-7,不再计算')
s=sprintf('计算次数n=%d',n);
disp(s)
Pi=y