Re: [問題] 一元三次方程式的求解
※ 引述《sjgau (sjgau)》之銘言:
: ( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
: ( 未必需要依照此格式,文章條理清楚即可 )
: 遇到的問題: (題意請描述清楚)
: x^3 + (a1)*x^2 + (a2)*x + a3 = 0
: s, t 的求解,請參考 網頁
: http://webcache.googleusercontent.com/search?q=cache:ccr3OgAAz9EJ:bbs.civilgroup.org/viewtopic.php%3Ft%3D1326+%E4%B8%80%E5%85%83%E4%B8%89%E6%AC%A1%E6%96%B9%E7%A8%8B%E5%BC%8F&cd=2&hl=zh-TW&ct=clnk&gl=tw
: http://0rz.tw/5rH87
: 不應該出現 虛數解的地方,
: fabs(s - t) > 0.0
: 希望得到的正確結果:
: 應該是 實數根的 case,
: 不要出現 虛數根
: 程式跑出來的錯誤結果:
: 會產生 1.xxxe-12 左右的 誤差值
: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
: VC++ 6.0
: 有問題的code: (請善用置底文標色功能)
: 略
: 補充說明:
: no
我們可以來看看一個最簡單的 x^3 - 6x^2 + 11x - 6 = (x-1)(x-2)(x-3) = 0
代入式子得
Q = (3(11)-(-6)^2)/9 = (33-36)/9 = -1/3
R = (9(-6)(11)-27(-6)-2(-6)^3)/54 = (-594+162+432)/54 = 0
平方根是 √((-1/3)^3+0) = i/3√3
3 3
故 S = √(i/3√3) = -i/√3 T = √-(i/3√3) = i/√3
S + T = 0, S - T = -2i/√3
代進 x1,x2,x3 之後你會發現所有的 i 自動消失了....
(計算略 得 x1=2, x2=3, x3=1)
從上面的計算也可以知道這僅僅只是個數學上的結果
也就是請不要想著在只能算實數的地方套這個公式....
--
如果你不是這個問題的話(現在想想似乎很有可能)
那置底十三誡之十一(B)有你要的答案
--
実琴:「河野!你真的就這樣被物質慾望給吸引過去了嗎?!」
亨:「只要穿著女裝擺出親切的樣子,所有必要花費就能全免,似乎一點都不壞啊。」
実琴:「難道你沒有男人的尊嚴了嗎?!」
亨:(斷然道)「沒有。在節衣縮食且生活吃緊的學生面前,沒有那種東西。」
--プリンセス・プリンセス 第二話
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.28.92
→
10/08 13:32, , 1F
10/08 13:32, 1F
→
10/08 13:33, , 2F
10/08 13:33, 2F
→
10/08 13:33, , 3F
10/08 13:33, 3F
討論串 (同標題文章)