日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用python输出pi的近似值_Python-Pi近似

發布時間:2023/12/8 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python输出pi的近似值_Python-Pi近似 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

重要編輯:

無論誰希望這個近似值產生π——引自Wikipedia:It converges quite slowly, though – after 500,000 terms, it produces

only five correct decimal digits of π

原始答案:

這是一個教育性的例子。您嘗試使用快捷方式,并嘗試通過在同一次迭代中處理k的兩個步驟來實現總和的“振蕩”符號。但是,每次迭代只調整一步k。

通常,至少在數學中,振蕩符號是用(-1)**i實現的。所以,我選擇這個是為了實現更可讀的功能:def pi_approx(num_iterations):

k = 3.0

s = 1.0

for i in range(num_iterations):

s = s-((1/k) * (-1)**i)

k += 2

return 4 * s

如你所見,我改變了你的方法,以提高可讀性。不需要在while循環中檢查num,也不需要特別檢查pi變量。你的est實際上是一個逐步增長的和,所以為什么不稱它為s(“sum”是Python中的內置關鍵字)。根據你的公式,最后用4乘以和。

測試:>>> pi_approx(100)

3.1514934010709914

然而,這種趨同并不是特別好:>>> pi_approx(100) - math.pi

0.009900747481198291

你的預期輸出是不穩定的,因為你的piApprox(300)(應該是3.13825932952,根據你的)離PI太遠了。你怎么想到的?這可能受到累積數值誤差的影響嗎?

編輯

在函數經過10次和300次迭代后應該返回什么方面,我不會太相信這本書。中間結果,經過10步,應該是相當沒有數字誤差,確實。在這里,您是否同時執行兩個步驟k實際上是有區別的。所以這很可能是我的pi_approx(10)和書之間的區別。在300次迭代中,數值誤差可能會嚴重影響書中的結果。如果這是一本舊書,他們已經用C語言實現了他們的示例,可能使用了單精度,那么結果的很大一部分可能是由于數值誤差的累積(注意:這是一個很好的例子,說明數值誤差會對你造成多大的影響:大小值的重復和,不會更糟的。

重要的是,您已經研究了數學(PI的公式),并且實現了一個Python版本的近似公式。這是本書的學習目標,所以繼續解決下一個問題。

總結

以上是生活随笔為你收集整理的用python输出pi的近似值_Python-Pi近似的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。