無罪計算罪
回答
一種選擇是使用泰勒級數的正弦得到一個近似:
的sin(x)= X - X /3! + x /5! - x /7! + x /9! - ...
如果評估該多項式的第一五六而言,x是小,你可能會得到的SiNx一個非常好的近似。您可以通過將其保持在範圍內來保持x很小( - π,+ π)。
有很多更好的方法可用。其中一個標準就是使用CORDIC,這是一套經過優化的方法,可以快速而準確。
希望這會有所幫助!
非常好,謝謝。我完全忘記了使用泰勒系列。 – Axxelsian
泰勒級數是一種很差的方法來近似函數,因爲它們收斂緩慢,偏離中心點的誤差越來越大。 [Minimax多項式更好。](http://stackoverflow.com/questions/12678277/in-what-situation-would-a-taylor-series-for-a-polynomial-be-necessary/12695691#12695691)一個簡單的核心'sin'實現是[here](http://stackoverflow.com/questions/11261170/c-and-maths-fast-approximation-of-a-trigonometric-function/11575574#11575574)。 –
您可以使用Taylor Series來查看數值近似值。特別少,你可以在廣義Taylor/MacLaurin Series
讀了簡而言之:
sin(x) = x − x^3/3! + x^5/5! − x^7/7! + x^9/9!
通常你可以把它擴展到幾個方面和它在合理的誤差範圍。誤差呈指數級下降,所以即使是4,5或6項,您也會得到準確的結果。條款越多,越準確。
這是計算機可以評估三角函數,積分和許多其他複雜公式的一種方法。我想,無論誰問你,目的都是爲了理解計算機處理這些功能的方式。
[沒有好的標準數學庫使用泰勒級數。](http://stackoverflow.com/questions/12678277/in-what-situation-would-a-taylor-series-for-a-polynomial-be-necessary/12695691 #12695691) –
@EricPostpischil夠公平的......我改變了我的措辭。 –
- 1. MATLAB密謀罪
- 2. MPFR:得罪mpf_class
- 3. 罪()COS()環式
- 4. 如何計算使用JavaScript的罪,cos,tan和數學運算?
- 5. 兩項罪名被
- 6. 轉化犯罪率
- 7. 犯罪報告API
- 8. 罪的C++別名std ::罪 - 需要馬虎快速修復
- 9. 從計算罪(x)得到一個奇怪的輸出
- 10. 計算R中關聯規則的定罪值?
- 11. 如何使用C#中的System.Data.Compute()計算罪惡#
- 12. 訂購兩項罪名
- 13. 罪惡城市效應
- 14. 顛倒罪與cos變換
- 15. 運行時錯誤犯罪
- 16. TSQL不同罪名2
- 17. COS和罪惡給用C
- 18. 在MATLAB集成罪(2個)
- 19. SQL Server鎖罪魁禍首?
- 20. 指針到複雜<double>罪
- 21. 代罪羔羊樹的上界
- 22. 安排犯罪案件午餐後
- 23. 我可以寫'罪(不管)'嗎?
- 24. 預測舊金山的犯罪,ValueError
- 25. R中罪的弧度量度?
- 26. iOS - 想要動畫罪惡圖
- 27. 如何用c編碼罪惡進展?
- 28. 罪與泰勒級數蟒蛇
- 29. 罪()給出了錯誤的結果
- 30. 找到長TTFB的罪魁禍首
這個問題似乎是題外話題,因爲它是關於數學 – John3136
@ John3136:好的工作。 –
[三角函數如何工作?]可能的重複(http://stackoverflow.com/questions/345085/how-do-trigonometric-functions-work) –