Re: [問題] 如何解複係數一元三次方程式

看板MATLAB作者 (就這樣子吧)時間13年前 (2012/04/27 01:46), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
稍微實際操作後發現 solve() 的 input 型態並非字串 (在 MATLAB 裡顯示為 <1x1 sym>) syms x; a = 1; b = -(2+3i); c = -3; d = i; eqn = a*x^3+b*x^2+c*x+d; sol = solve(eqn); 應該就是你需要的結果 (MATLAB 其實很傻瓜?!) 我並未仔細測試結果是否正確及容錯性 只用了下面這個三個 i 重根的係數來測試 syms x; a = 1; b = -3i; c = -3; d = i; eqn = a*x^3+b*x^2+c*x+d; sol = solve(eqn); 而 sol = i i i ※ 引述《NikolaTesla (只睡兩小時的男人)》之銘言: : 用solve解一元三次是沒問題,例如: : syms x; : a=1; : b=-6; : c=-11; : d=+6; : sol=solve([num2str(a) '*x^3 + ' num2str(b) '*x^2 + ' num2str(c) '*x^1+' : num2str(d) '=0']) : 這樣是可以解出三個根,但如果a,b,c輸入複數似乎就不行解了... : 想知道有人會用matlab解複系數的一元三次方程式嗎? : 試了wiki上的公式解,還有Carden法,好像都不行耶, : 是因為這些只能用在實係數問題嗎? : 希望有人能回答我@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.3.197

04/27 09:48, , 1F
感謝!!很有幫助!!謝謝您撥冗回答
04/27 09:48, 1F
文章代碼(AID): #1FcOdwIz (MATLAB)
文章代碼(AID): #1FcOdwIz (MATLAB)