3 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
首先,您必須進(jìn)行某種范圍的縮小。觸發(fā)函數(shù)是周期性的,因此您需要將參數(shù)減少到標(biāo)準(zhǔn)間隔。對(duì)于初學(xué)者,您可以將角度減小到0到360度之間。但是,通過(guò)使用一些身份,您意識(shí)到可以少花錢。如果您為0到45度之間的角度計(jì)算正弦和余弦,則可以引導(dǎo)您的方法來(lái)計(jì)算所有角度的所有觸發(fā)函數(shù)。
減少論點(diǎn)后,大多數(shù)芯片都會(huì)使用CORDIC算法來(lái)計(jì)算正弦和余弦。您可能會(huì)聽到有人說(shuō)計(jì)算機(jī)使用泰勒級(jí)數(shù)。這聽起來(lái)很合理,但事實(shí)并非如此。CORDIC算法更適合高效的硬件實(shí)現(xiàn)。(例如,軟件庫(kù)可能在不支持觸發(fā)功能的硬件上使用泰勒級(jí)數(shù)。)可能會(huì)有一些額外的處理,使用CORDIC算法可獲得相當(dāng)好的答案,但隨后可以做一些其他事情以提高準(zhǔn)確性。
上面有一些改進(jìn)。例如,對(duì)于非常小的角度theta(以弧度為單位),sin(theta)= theta等于您擁有的所有精度,因此,簡(jiǎn)單地返回theta比使用其他算法更有效。因此,在實(shí)踐中有很多特殊情況的邏輯可以擠出所有可能的性能和準(zhǔn)確性。市場(chǎng)較小的芯片可能不會(huì)花太多精力進(jìn)行優(yōu)化。

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
我不是數(shù)學(xué)家,但我對(duì)sin,cos和tan從何而來(lái)的理解是,從某種意義上講,當(dāng)您處理直角三角形時(shí),它們是觀察到的。如果對(duì)一堆不同的直角三角形的邊長(zhǎng)進(jìn)行測(cè)量,然后在圖中繪制點(diǎn),則可以得出正弦,余弦和正切。正如哈珀·謝爾比(Harper Shelby)所指出的那樣,將函數(shù)簡(jiǎn)單地定義為直角三角形的屬性。
通過(guò)了解這些比率與圓的幾何形狀之間的關(guān)系,可以獲得更復(fù)雜的理解,從而得出弧度和所有優(yōu)點(diǎn)。在Wikipedia條目中全都有。
添加回答
舉報(bào)