當前位置:首頁 » 操作系統 » 3DPI演算法

3DPI演算法

發布時間: 2022-06-21 05:55:39

① π的計算方法有哪些

中國古算書《周髀算經》(約公元前2世紀)的中有「徑一而周三」的記載,意即取

(1)3DPI演算法擴展閱讀:

圓周率是指平面上圓的周長與直徑之比 (ratio of the circumference of a circle to the diameter) 。用符號π(讀音:pài)表示。中國古代有圓率、周率、周等名稱。(在一般計算時π=3.14)


圓周率的歷史:


古希臘歐幾里得《幾何原本》(約公元前3世紀初)中提到圓周率是常數,中國古算書《周髀算經》( 約公元前2世紀)中有「徑一而周三」的記載,也認為圓周率是常數。

歷史上曾採用過圓周率的多種近似值,早期大都是通過實驗而得到的結果,如古埃及紙草書(約公元前1700)中取π=(4/3)^4≈3.1604 。

第一個用科學方法尋求圓周率數值的人是阿基米德,他在《圓的度量》(公元前3世紀)中用圓內接和外切正多邊形的周長確定圓周長的上下界,從正六邊形開始,逐次加倍計算到正96邊形,得到(3+(10/71))

把圓周率的數值算得這么精確,實際意義並不大。現代科技領域使用的圓周率值,有十幾位已經足夠了。如果以39位精度的圓周率值,來計算宇宙的大小,誤差還不到一個原子的體積。

以前的人計算圓周率,是要探究圓周率是否循環小數。自從1761年蘭伯特證明了圓周率是無理數,1882年林德曼證明了圓周率是超越數後,圓周率的神秘面紗就被揭開了。

π在許多數學領域都有非常重要的作用。

② PI控制演算法問題----逆變器(緊急求救)

樓主,我現在做的和你的一樣,到PI控制就卡住沒法進行了,這個電壓電流雙反饋是個什麼原理呢,你采樣的是電網的電壓和電流吧,采樣完輸給誰調節呢?初學者,望樓主多多指點

③ 求圓周率的演算法,要過程和方法

公式為
PI=n/2
*
sin(360
/
n),公式是根據微分的思想得到。當
n
邊形的邊數接近無窮大時,公式的值就越接近所求的值。

④ PI演算法是怎樣計算出一個值

你的標題取的不好,我還以為是計算圓周率PI的呢
比例積分演算法中P,I值的選取要根據系統的傳遞函數,通常根據經驗取就行。控制值如公式中所示解法,e是偏差值即期望轉速減去當前轉速。如題中當前轉速應該就是350,你說的預置轉速不知道是不是就是期望轉速,如果是的話,那麼e就是500-350=150。
200分足矣,何談RMB。如有疑問,可以hi我

⑤ 現代計算機是如何計算圓周率的

可以用編程語言計算。以下是python語言

pi = 0.0

N = 100

for i in range(N):

pi += (1/pow(16,i) * ( 4/(8*i +1) -2/(8*i+4)-1/(8*i+5) -1/(8*i +6) ) )

print('圓周率為{:.10f}'.format(pi))

請把以上代碼拷進python語言開發環境里運行,結果如下(下圖是使用python開發環境Spyder運行上述代碼的結果):圓周率為3.1415926536.

(5)3DPI演算法擴展閱讀

圓周率的研究過程:

1989年美國哥倫比亞大學研究人員用克雷-2型(Cray-2)和IBM-3090/VF型巨型電子計算機計算出π值小數點後4.8億位數,後又繼續算到小數點後10.1億位數。2010年1月7日——法國工程師法布里斯·貝拉將圓周率算到小數點後27000億位。

2010年8月30日——日本計算機奇才近藤茂利用家用計算機和雲計算相結合,計算出圓周率到小數點後5萬億位。

2011年10月16日,日本長野縣飯田市公司職員近藤茂利用家中電腦將圓周率計算到小數點後10萬億位,刷新了2010年8月由他自己創下的5萬億位吉尼斯世界紀錄。56歲的近藤茂使用的是自己組裝的計算機,從10月起開始計算,花費約一年時間刷新了紀錄。

⑥ PI控制演算法

網路一下。。。

⑦ 什麼是PI演算法

計算機最原始的用途就是進行人類無法完成的復雜運算,算 PI 就是這樣的運算之一。雖然算 PI 本身沒有多大的實際意義,但是對於計算機愛好者來說作為一種編程的挑戰,還是很有意思的。算 PI 看似簡單,其實它還牽涉到一些有用的數學知識。

⑧ 計算圓周率的演算法

因為循環條件是while(fabs(t)>1e-6)
你把t定為0了 這第一步就不符合 所以就不循環了
輸出肯定是0了

⑨ 誰給說說派(圓周率)的4中演算法

為什麼要算 PI?計算機最原始的用途就是進行人類無法完成的復雜運算,算 PI 就是這樣的運算之一。雖然算 PI 本身沒有多大的實際意義,但是對於計算機愛好者來說作為一種編程的挑戰,還是很有意思的。算 PI 看似簡單,其實它還牽涉到一些有用的數學知識。第一類演算法:arctan 的級數展開PI/4 = 4 arctan(1/5) - arctan(1/239) (1)arctan(x) = x - x3/3 + x5/5 - x7/7 + .... (2)很容易想到,要得到超高精度的 PI 值,實數在計算機中必須以數組的形式進行存取,數組的大小跟所需的有效位數成正比。在這個演算法中,PI 的有效位數 n 隨 (2) 的求和項數線性增加。而為計算 (2) 中的每一項,需要進行超高精度實數除以小整數(52, 2392, 2k+1)的循環,循環所需次數也跟 n 成正比。所以,這個演算法總的時間復雜度為 O(n2)。這個演算法的優點是簡單,而且只需要進行整數運算。下面給出我寫的算 PI 程序。在程序中,我採用了一些提高速度的措施:超高精度實數以數組的形式進行存取,數組元素的類型為 64 位整數(long long),每個元素儲存 12 個十進制位;對 xk (x = 1/5, 1/239) 的頭部和尾部的 0 的數量進行估計,只對非 0 的部分進行計算。另外,還有許多跟 (1) 類似的式子,但不常用。例如:PI/4 = arctan(1/2) + arctan(1/3)PI/4 = 8 arctan(1/10) - arctan(1/239) - 4 arctan(1/515)第二類演算法:與 1/PI 有關的級數1/PI = (sqrt(8) / 9801) sumk=0~inf { [(4k)! (1103 + 26390k)] / [(k!)4 3964k] } (Ramanujan)1/PI = (sqrt(10005) / 4270934400) sumk=0~inf { [(6k)! (13591409 + 545140134k)] / [(k!)3 (3k)! (-640320)3k] } (Chudnovsky)以上兩個級數(還有其它類似形式的級數,但不常用)比起 arctan 的泰勒級數要復雜得多。雖然仍然是線性收斂,總的時間復雜度也仍然是 O(n2),但它們的收斂速度相當快, (Ramanujan) 每項可以增加 8 位有效數字, (Chudnovsky) 每項可以增加 14 位。在這個演算法中,除了要進行超高精度實數(數組形式)和小整數的運算外,還有一次超高精度實數的開方和倒數的運算,這需要用到 FFT(快速傅立葉變換),在下文敘述。第三類演算法:算術幾何平均值和迭代法算術幾何平均值(Arithmetic-Geometric Mean, AGM) M(a, b) 定義如下:a0 = a, b0 = b
ak = (ak-1 + bk-1) / 2, bk = sqrt(ak-1 bk-1)
M(a, b) = limk->inf ak = limk->inf bk然後,由橢圓積分的一系列理論(抱歉,過程我不懂)可以推導出如下公式:a0 = 1, b0 = 1 / sqrt(2)
1/PI = { 1 - sumk=0~inf [2k (ak2 - bk2)] } / 2M(a0, b0)2 (AGM)根據這條公式可以制定適當的迭代演算法。在迭代過程中,有效位數隨迭代次數按 2 的指數增加,即每迭代一次有效位數乘 2。演算法中的超高精度實數的乘、除、開方等運算需要使用 FFT,在下文敘述。綜合考慮 FFT 的時間復雜度,整個演算法的時間復雜度約為 O(n log(n)2)。除了 (AGM) 以外,還有其它的迭代序列,它們具有同樣的時間復雜度。例如下面的這個序列將按 4 的指數收斂到 1/PI:y0 = sqrt(2) - 1, a0 = 6 - 4 sqrt(2)
yk = [1 - sqrt(sqrt(1 - yk-14))] / [1 + sqrt(sqrt(1 - yk-14))], ak = (1 + yk)4 ak-1 - 22k+1 yk (1 + yk + yk2)
1/PI = limk->inf ak (Borwein)FFT如上所述,第二和第三類演算法不可避免地要涉及超高精度實數(數組形式存取的多位數)的乘、除、開方等運算。多位數乘法如果按照常規方法來計算,逐位相乘然後相加,其時間復雜度將達到 O(n2)。使用 FFT 可大大減少計算量。設有復數數組 a[k] 和 b[k] (k=0~n-1),正向和反向的離散傅立葉變換(DFT)定義如下: (i = sqrt(-1))b = FFTforward(a) : b[k] = sumj=0~n-1 ( a[j] e-i*j*2PI*k/n ) (3)b = FFTbackward(a) : b[k] = (1/n) sumj=0~n-1 ( a[j] ei*j*2PI*k/n ) (4)(3) 和 (4) 中的 (1/n) 可以放在任何一個式子中,也可以拆成 (1/sqrt(n)) 同時放在兩個式子中,目的是保證正向和反向傅立葉變換以後不會相差一個因子。當 n 的所有素因子均為小整數,尤其是當 n 為 2 的整數次冪的時候,使用適當的演算法經過仔細的協調,可以避免多餘的計算,使離散傅立葉變換 (3) 和 (4) 減少至 O(n log(n)) 的時間復雜度,即所謂的快速傅立葉變換(FFT)。具體的細節請查閱相關書籍。下面給出我寫的一段 FFT 程序,僅供參考。另外也有已經開發的 FFT 函數庫,例如 FFTW ,可以直接使用。fft.cpp FFT 的 C++ 源程序利用 FFT,要計算 n1 位和 n2 位的兩個多位數乘法,可以這樣進行:開辟兩個長度為 n(n>=n1+n2,取 2m 最佳) 的復數數組,將兩個多位數從低位到高位分別填入,高位補 0。對兩個數組分別進行正向傅立葉變換。將得到的兩個變換後的數組的對應項相乘,然後進行反向傅立葉變換,最後得到一個結果數組。由於傅立葉變換是在復數域中進行的,因此還要對結果數組進行取整和進位,才能得到最終的乘積。值得留意的是傅立葉變換的精度問題。我們知道,在計算機中實數用單精度數或雙精度數表示,它們會存在一定的誤差。在計算多位數乘法時,n 往往是一個很大的數字,傅立葉變換過程中需要對數組的每一項進行求和,如何保證精度帶來的誤差不會因為求和而超出允許的范圍?我的觀點是必須使用雙精度實數,而且由於統計特性,精度帶來的誤差在求和過程中不會很大,一般不會影響計算的正確性。如果需要保證計算的正確性,我想到兩種檢查方法。第一種是取模驗算。例如,如果乘數和被乘數對 17 的模分別是 8 和 6,那麼積對 17 的模就應該是 14。第二種是檢查運算結果中浮點數偏離整數的最大值。如果偏差只有比如 10-3 量級,我們可以認為這個尺度的乘法運算很安全;如果偏差達到 0.5,說明運算已經出錯了;如果偏差達到 0.1 量級,那也比較危險,也許換個別的乘數和被乘數就溢出了。多位數的倒數和開方可以通過牛頓迭代求根法轉化為乘法運算。例如,要計算 x = 1/a ,根據牛頓迭代法令 f(x) = 1/x - a ,可以得到以下迭代序列:x0 ~= 1/a
xk = xk-1 - f(xk-1)/f'(xk-1) = 2xk-1 - axk-12 (5)要計算 x = sqrt(a) ,可以先計算 x = 1 / sqrt(a) ,令 f(x) = 1/x2 - a ,可以得到以下迭代序列:x0 ~= 1 / sqrt(a)
xk = xk-1 - f(xk-1)/f'(xk-1) = (3/2)xk-1 - (1/2)axk-13 (6)(5) 和 (6) 均以 2 的指數收斂到所求結果。還存在其它更復雜一些的迭代序列,它們以更高的指數收斂,在此不提。不過需要提醒的是,跟 (AGM) 不同,這里 (5) 和 (6) 中的 x0 只是 1/a 和 1 / sqrt(a) 的約值,在前幾次的迭代中不必進行滿 n 位數的乘法運算,因而可以減少計算量。

⑩ 求π(Pi)的得數計算公式

計算公式如下:

π=sin(180°÷n)×n公式源於圓形——正無窮邊形,當此公式n=∞時π的值誤差率為0,π=sin(180°÷1×10¹⁴)×10¹⁴=3.1415926535898。

1、圓周率(Pi)為圓的周長與直徑的比值,一般用希臘字母π表示,一個在數學及物理學中普遍存在的數學常數。

2、π也等於圓形之面積與半徑平方之比,是精確計算圓周長、圓面積、球體積等幾何形狀的關鍵值。 在分析學里,π可以嚴格地定義為滿足sin x = 0的最小正實數x。


(10)3DPI演算法擴展閱讀:

一、圓的第一定義

1、在同一平面內到定點的距離等於定長的點的集合叫做圓(circle)。這個定點叫做圓的圓心。

2、圓形一周的長度,就是圓的周長。能夠重合的兩個圓叫等圓,等圓有無數條對稱軸。

3、圓是一個正n邊形(n為無限大的正整數),邊長無限接近0但永遠無法等於0。

二、圓的第二定義:

1、平面內一動點到兩定點的距離之比(或距離的平方之比),等於一個不為1的常數,則此動點的軌跡是圓。

2、證明:點坐標為(x1,y1)與(x2,y2),動點為(x,y),距離比為k,由兩點距離公式。滿足方程(x-x1)2 + (y-y1)2 = k2×[ (x-x2)2 + (y-y2)2] 當k不為1時,整理得到一個圓的方程。

熱點內容
編譯器如何實例化對象 發布:2024-11-08 08:30:00 瀏覽:691
存儲磁場能 發布:2024-11-08 08:24:22 瀏覽:832
如何排查伺服器是否中毒 發布:2024-11-08 08:21:25 瀏覽:376
androidyuv顯示 發布:2024-11-08 08:15:51 瀏覽:883
雲伺服器公網帶寬 發布:2024-11-08 08:05:16 瀏覽:552
go二進制文件反編譯成源碼 發布:2024-11-08 08:05:11 瀏覽:892
聯通上網卡puk密碼多少 發布:2024-11-08 08:04:20 瀏覽:655
到底什麼是webrtc伺服器 發布:2024-11-08 08:04:19 瀏覽:938
破解word加密工具 發布:2024-11-08 08:02:54 瀏覽:954
android的分層 發布:2024-11-08 07:51:25 瀏覽:183