求圓周長,我們可以先在圓内構造内接N邊形,邊長設為a,正邊形的周長為n*a,當n不斷增大的時候,正邊形的邊界不斷趨近圓的邊界,這就表示多邊形周長不斷接近圓的周長C,即:n趨近于無窮,C=n*a。
此外,如果我們按上述方法計算出圓周長,是不是就可以計算π的值,C=n*a=2π*r。我國古代數學家祖沖之就是利用這種割圓術之法來計算出高精度的圓周率。
随着現代計算機技術的發展,我們可以利用計算機軟件,如MATLAB,來方便快速地計算圓的内接多邊形的周長,這也是當代圓周率精度不斷提高的原因之一。
下面,我們就用MATLAB解決這樣一個問題:利用割圓術之法在單位圓周内構造内接N邊形:求其周長,使其與圓周長誤差<0.0001。(當然,如果求π,我們可以把誤差的數值設置的更小,如億分之一,利用C=n*a=2π*r求出高精度的π)%下面的這段代碼實現的是畫出任意圓的内接多邊形%
clear all,close all,clc
n=5,圓心(0,0),半徑=1
n=10,圓心(0,0),半徑=1
n=20,圓心(0,0),半徑=1
從上面的三幅圖可以看出,随着内接多邊形的邊數增多,多邊形邊界确實在越來越解決圓的邊界。
%下面的代碼實現的是利用割圓術之法的思想在單位圓周内構造内接N邊形,求其周長,使其與圓周長誤差<0.0001。運行時間在1分鐘左右%
syms n
r=1;
a=sqrt((r*cos(2*pi/n)-r)^2 (sin(2*pi/n))^2);%多邊形的邊長,即圓與内接多邊形相鄰兩個交點的距離,設A(r,0),B(r*cos(2*pi/n),r*sin(2*pi/n))
s=r*2*pi/n;%2*pi/n的角度所對應的弧長
q=(s-a)/s;
n=floor(solve(q-0.0001)) 1
C1=double(n*sqrt((r*cos(2*pi/n)-r)^2 (sin(2*pi/n))^2))
C2=2*pi*r
運行結果
所以,n=129時,即在單位圓内構造129邊形,可使其圓周長誤差<0.0001,并且其周長為6.2826。
n=129,圓心(0,0),半徑=1
從上圖可以看出,圓内接129邊形的邊界幾乎與圓的邊界重合,表示二者的周長已經非常接近。
最後,感謝您的耐心閱讀!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!