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

看板MATLAB作者 (只睡兩小時的男人)時間13年前 (2012/04/27 00:16), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/2 (看更多)
用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: 111.235.200.92

04/27 01:26, , 1F
問題應不在 solve 而在那串 串接起來的 num2str
04/27 01:26, 1F

04/27 03:01, , 2F
你如果只是想解一元三次用roots([a b c d])就好了
04/27 03:01, 2F

04/27 09:47, , 3F
感謝roots就是我要的....
04/27 09:47, 3F
文章代碼(AID): #1FcNJla0 (MATLAB)
文章代碼(AID): #1FcNJla0 (MATLAB)