以下计算𝜋的算法归功于阿基米德:
我已经编写了代码,但是我不知道如何编写它,因此,如果e的值大于tol,则重复步骤2-7。我写了这个:
function [p,e] = algorithmPi(tol)
a=1
n=6
n=2*n
a=sqrt((2-(sqrt(4-((a)^(2)))))
l=(n*a)/2
u=l/(sqrt((1-(a)^2)/2))
p=(u+l)/2 % estimate of pi
e=(u-l)/2 % estimate of error
if e<tol
disp('done')
else
n=2*n
a=sqrt((2-(sqrt(4-((a)^(1/2))))))
l=(n*a)/2
u=l/(sqrt((1-(a)^2)/2))
p=(u+l)/2 % estimate of pi
e=(u-l)/2 % estimate of error
end
end
以下用于计算algorithm的算法归功于阿基米德:从𝑎= 1和𝑛= 6开始。将𝑛替换为2𝑛。将𝑎替换为sqrt(2-sqrt(4-^ 2))令𝑙=𝑛𝑎/ 2。令𝑢= l * sqrt((1-(a)^ 2)/ 2)...
这是嵌套在if
语句中的while
语句的潜在用例。 关键思想