精華區beta MATLAB 關於我們 聯絡資訊
各位大大~~舉個例說明~~ 如果多項式函數的係數都是常數~~ f=x^5+x^4+x^3+x^2+x+1 這種的""常係數""多項式Matlab可以輕易解出來 x=......一共5個解~似乎常係數多項式對Matlab而言好像都沒問題~可以解更高次 而變數係數的時候~~Matlab似乎只在4次方已內能解出來 g=x^4+x^3+k*x^2+x+1 這時候Matlab一樣能解~ 打solve(g) 可得到[ -1/4+1/4*(-4*k+9)^(1/2)+1/4*(-6-2*(-4*k+9)^(1/2)-4*k)^(1/2)] [ -1/4+1/4*(-4*k+9)^(1/2)-1/4*(-6-2*(-4*k+9)^(1/2)-4*k)^(1/2)] [ -1/4-1/4*(-4*k+9)^(1/2)+1/4*(-6+2*(-4*k+9)^(1/2)-4*k)^(1/2)] [ -1/4-1/4*(-4*k+9)^(1/2)-1/4*(-6+2*(-4*k+9)^(1/2)-4*k)^(1/2)] 意思就是解出x....以k來表示x的解~~ 但是到了5次方....好像Matlab就不讓我解了~~也就是 h=x^5+x^4+x^3+k*x^2+x+1 如果不懂我的意思的話~~可以把下面舉例的小片段程式run一次~~ 會發現 g 多項式可以被順利解出答案~~但是h多項式卻發生錯誤情形~~ 不知道有哪位大大能幫忙~~~能解出高次方的變係數多項式~~ 以下為舉例的小程式 syms x k; g=x^4+x^3+k*x^2+x+1 g_ans=solve(g) %這個能被執行解出答案 h=x^5+x^4+x^3+k*x^2+x+1 h_ans=solve(h) %但是這個卻會出現紅字也不知道說哪裡錯 乞求各位高手的幫忙~~因為我所用到的是解更複雜的高次方變係數多項式~~ 不知道什麼方法能解出來~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.109.197
kafai:五次以上本來就沒有求根公式 12/02 18:13
dok:mathematica可以解,我解過6次14個未知數的解,超快 12/03 01:17
yimean:4次有求跟公式?媽呀~~我數學讀哪裡去了?~>"<~ 12/06 11:32