[討論] 自製"多項式降次"方法(非降次排列),成功

看板MATLAB作者 (阿泰斯)時間13年前 (2013/04/07 10:17), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
非降次排列,而是將未知數降次(如:x^2降為x) 但是不能直接整個式子除以未知數,因為會這樣: (x^2+x+1)/x = x+1+1/x x會跑去分母,而且我要的降次不是這樣,而是要x^p降成x^(p/2) 例如: (x^6+x^4+x^2)轉為(x^3+x^2+x) 如果直接除x^3會變成: x^3+x+x^(-1) <<<顯然不是我要的 以下是我想出來的方法,但是又發生了另一個問題: 程式碼: clear; clc; syms x y mx=[3*x+5*y,x+2*y;7*y,6*x+y]; eq=det(mx) cs=coeffs(eq,x) eq2=cs(1)+cs(2)*sqrt(x)+cs(3)*x y=1; solve(eq2,'x') command視窗: eq = 18*x^2 + 26*x*y - 9*y^2 cs = [ -9*y^2, 26*y, 18] eq2 = 18*x + 26*x^(1/2)*y - 9*y^2 ans = ((13*y)/18 + (331^(1/2)*y)/18)^2 ((13*y)/18 - (331^(1/2)*y)/18)^2 為了讓矩陣可以det,所以先令x跟y都為syms 但是這麼做到最後,令y=1時要去算solve,會發現y沒代進去 此題算式較簡單,故用subs可以算,小弟那邊是算16次方的,x改為Z,y改為omg 用subs算出來會是NaN 求高手幫忙一下,感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.17.1

04/07 11:13, , 1F
剛剛又測試了一下,發現矩陣先vpa(m,2),最後竟然能
04/07 11:13, 1F

04/07 11:13, , 2F
subs,難不成真的是精度問題!!?但我需要高精度阿!!
04/07 11:13, 2F
文章代碼(AID): #1HODSl0V (MATLAB)
文章代碼(AID): #1HODSl0V (MATLAB)