有一個公式,我需要用我的應用程序:here隔離實數複數在java中
部分SQRT(5-25),可正可負,當然,當負我們得到了java不能處理的虛部。
我四處搜尋找到一個複雜的類來處理,但只發現基本操作(+ - * /)。
我怎樣才能在Java解決這個知道我只需要得到真正的一部分嗎?(虛有沒有意義)
我精確我開發的Android平臺
(一張貼在堆棧,因爲它是關於在java中的應用,但如果它屬於math.se,告訴我)
有一個公式,我需要用我的應用程序:here隔離實數複數在java中
部分SQRT(5-25),可正可負,當然,當負我們得到了java不能處理的虛部。
我四處搜尋找到一個複雜的類來處理,但只發現基本操作(+ - * /)。
我怎樣才能在Java解決這個知道我只需要得到真正的一部分嗎?(虛有沒有意義)
我精確我開發的Android平臺
(一張貼在堆棧,因爲它是關於在java中的應用,但如果它屬於math.se,告訴我)
您可以簡單地計算以前的東西:
plot 25-20 +((2Pi0。3²)/(Pi10²)的Sqrt [2 * 980(1+(Pi10²)/(Pi10²))] T)2 0-38
或
情節25-20 +((2 *0.3² )/(10 2)的Sqrt [2 * 980(1 + 1)] T)2 0-38
或
25 - 20 + 4 * 0.0000081 * 3920 * T^2爲0〜38(我有一些因素是錯誤的,但你明白了)
只是應用基本的數學常量,並應用第二個雙目公式後刪除中間(虛部)。
與複數無關。
取一般複數的平方根可以用實數的基本算術運算(加上實數的平方根): (一種技術是利用De Moivre定理:可以寫出任何複數a + bi 10例爲其中
r = sqrt(a^2 + b^2), cos θ = a/r, sin θ = b/r
更新:公式是淵源由於歐拉,而棣莫弗定理是
(a + ib)ⁿ = rⁿ(cos nθ + i sin nθ)
你感到困惑的數學。 -25的平方根是25 *( - 1)的平方根,即25 *的平方根的平方根,即5i。該數字的實數部分爲0.
如果您想要5,只需檢查數字的符號是否「紮根」,如果是負數,則更改它。
這是一個負實數而不是一般複數的平方根。 – 2011-06-08 10:02:23
你是對的,但公式說sqrt(5-25),這是我* sqrt(20)。 – duffymo 2011-06-08 10:03:40
整數的平方根將成爲整數或實數爲零的複數。負整數的平方根的實部爲零。總是。
所以......
public double realPartOfSquareRoot(int i) {
return (i > 0) Math.sqrt(i) : 0;
}
但我怎麼解決這個問題?如果我將squareroot替換爲0,我得不到一個好結果。我是否假設虛構部分對公式的其餘部分做了一些真正的事情。
我希望是這樣! (丟棄虛部的想法對我來說沒有多大意義......但我認爲你有充分的理由這樣做。)
真正的答案是找到一個Java庫,它將執行復雜的算術。我從來沒有需要使用它,但第一個要檢查的應該是Apache Commons Maths庫。
但我怎麼解決這個問題,如果我用0代替squareroot,我沒有得到好的結果,所以我想虛部做了一些與真正的公式 – eephyne 2011-06-08 10:09:57
說「Java無法處理它」是不正確的。從平方根返回雙精度的語言不能處理它,但如果你有一個Complex
類,這不是問題。 Python有一個內置的;使用Java編寫一個很容易。
我認爲它會拋出一些異常,當它遇到一個負面...也可以使用try catch來處理它,只需將它轉換爲+ ve也不常用方式找到它的平方根... – ngesh 2011-06-08 10:00:02
真實部分是真實的想象,如果不是,那麼你將能夠採取兩個並通過郵局發送給我。 – 2011-06-08 10:08:09