簡體   English   中英

如何在C#中計算負數與小數冪?

[英]How do you compute negative numbers to fractional powers in C#?

我正在嘗試在C#中計算負數來計算分數冪。

這就是我試圖計算的能力,

Math.Pow(-0.5264, 1.11)--> Result NaN
Math.Pow(-0.5264, 2) --> 0.27709696
Math.Pow(0.5264, 1.11) --> Gives me a result. 

當基數為正且冪為分數時,我確實獲得了一個值。 但是,當基數為負值時,無法給出結果嗎?

當我試圖找到負數基的冪時,它在Matlab中返回了復數格式a + bi。

我真的不知道如何在C#中實現它。

有人可以幫我解決問題。

Math.Pow根據其規范正確運行。

如果您想要復雜的值,並且沒有復雜的數學庫,則計算它很容易。

我們知道歐拉的身份:

e ix = cos x + i sin x

更具體地說

eiπ = -1

因此

0.5264ËIπ= -0.5264

因此

(0.5264) 1.11 e 1.11 iπ=(-0.5264) 1.11

現在再次使用歐拉的身份

(0.5264) 1.11 (cos(1.11π)+ i sin(1.11π))=(-0.5264) 1.11

因此,您要查找的數字的真正部分是

(0.5264) 1.11 cos(1.11π)

而虛部是

(0.5264) 1.11 sin(1.11π)

現在,您已將問題簡化為可以使用普通數學庫計算的實值函數。

故事的寓意是: 通過數學解決數學問題

您可以使用System.Numerics.Complex.Pow計算此類表達式:

Complex.Pow(-0.5264, 1.11); //(-0,461524987676948, -0,166159219770948)
Complex.Pow(-0.5264, 2).Real; // 0.27709696
Complex.Pow(0.5264, 1.11).Real; // 0.49052441383186784

通常Math.Pow返回double,這是實數,並不復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM