看板 MATLAB 關於我們 聯絡資訊
非降次排列,而是將未知數降次(如: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
candy88257:剛剛又測試了一下,發現矩陣先vpa(m,2),最後竟然能 04/07 11:13
candy88257:subs,難不成真的是精度問題!!?但我需要高精度阿!! 04/07 11:13