arcus cotangent(arccot)如何快速實現? 哪個庫是必要的導入,我使用達爾文,但我不能看到它時試圖打電話?Arcus在Swift中的實施
2
A
回答
5
從<math.h>
所有的數學函數在斯威夫特都可以,如果你
import Darwin
(如果導入基金會或UIKit中被自動導入)。
現在反餘切函數不是這些,但你可以從atan()
使用的關係很容易地計算(見例如Inverse trigonometric functions):
arccot(x) = arctan(1/x) (for x > 0)
arccot(x) = π + arctan(1/x) (for x < 0)
arccot(x) = π/2 - atan(x)
第2個公式在數值上更適合大 (絕對)值的x
,最後一個是小值較好, 所以你可以定義你acot()
功能
func acot(x : Double) -> Double {
if x > 1.0 {
return atan(1.0/x)
} else if x < -1.0 {
return M_PI + atan(1.0/x)
} else {
return M_PI_2 - atan(x)
}
}
對於夫特3通過Double.pi
替換M_PI
。
+0
感謝@Martin R的詳細解答。我也嘗試過這一點,但因爲我是iOS新手,我以爲有一個庫默認具有這個三角函數,因爲它與sin,cos,tan,atan等一樣 – mrBallista 2015-02-08 17:14:59
0
在斯威夫特4(iOS版11時,Xcode 9)
放置import UIKit
後,你可以寫這樣的:
let fi = atan(y/x)
其中X和類型CGFloat的的Y(在我的情況)。
或者,你可以根據需要使用他人:
let abc = acos(y)
數學函數參數類型的工作:雙,浮法,CGFloat的等
相關問題
- 1. 在Swift中施放CLLocationDistance
- 2. Swift音頻實施崩潰:「EXC_BAD_INSTRUCTION」
- 3. Swift WatchOS 2.0觸覺實施問題
- 4. FlurryAgent:在實施中的Android
- 5. 如何在swift中實施Google AdMobs橫幅廣告?
- 6. 實施中的jqGrid
- 7. @PreAuthorize:在實施
- 8. 在Android中實施服務
- 9. 在iPhone中實施Twitter卡
- 10. 在實施中計數字
- 11. 在列表中實施viewpager
- 12. 在Oracle中實施OOPS
- 13. 在BLE中實施通知
- 14. 在iOS中實施LinkedIn feeds
- 15. 在WF 4中實施GoTo
- 16. 在AngularJS中實施授權
- 17. 在燒瓶中實施MQTT
- 18. 在Durandal中實施Sidr
- 19. 在atomic_exchange_strong_explicit的實施shared_ptr的
- 20. 實施的TestSuite在NUnit的
- 21. 實施ondelete CakePHP中
- 22. 實施OnModelCreating在mvc5
- 23. 實施__concat__在Python
- 24. 實施GCM在Android
- 25. 正在實施UITextFieldDelegate
- 26. Issuue在實施onClickListener
- 27. 實施isInstance在Javascript
- 28. _InterlockedIncrement內在實施
- 29. 實施HTTP404在Django
- 30. 實施Vincenty在PHP
那麼你真的想** **實現它?看起來你想要的是使用計算arcus餘切的內置/庫函數。你可以通過調用C庫函數'atan'來達到你想要找到arcus cotangent的角度的倒數。 – 2015-02-08 12:51:13
只是[你有什麼嘗試?](http://whathaveyoutried.com) – 2015-02-08 13:02:51