计算𝜋的算法归功于阿基米德:如何重复步骤

问题描述 投票:0回答:1

以下计算𝜋的算法归功于阿基米德:

  1. 以𝑎= 1和𝑛= 6开头。>>
  2. 将𝑛替换为2𝑛。
  3. 用sqrt(2-sqrt(4-𝑎^ 2))替换]
  4. 让𝑙=𝑛𝑎/ 2。
  5. 让𝑢= l * sqrt((1-(a)^ 2)/ 2)
  6. 让𝑝=(𝑢+𝑙)/ 2(𝜋的估计)
  7. 让𝑒=(𝑢-𝑙)/ 2(误差估计)
  8. 重复步骤2 – 7,直到𝑒变得小于给定的公差𝑡𝑜𝑙。
  9. 输出𝑝和𝑒编写一个实现该算法的函数。使用函数确定𝑝和𝑒𝑡𝑜𝑙= 10 ^(= k),𝑘= 2,3,…,10.
  10. 我已经编写了代码,但是我不知道如何编写它,因此,如果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)...

matlab repeat
1个回答
0
投票

这是嵌套在if语句中的while语句的潜在用例。 关键思想

© www.soinside.com 2019 - 2024. All rights reserved.