[討論] 高次方常係數多項式求解

看板MATLAB作者 (刺刺的鳳梨)時間11年前 (2014/06/06 00:27), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
最近在運算高次方常係數多項式的解,先用syms建構 函數的最高次方到12次,而用solve指令解出來的12個解。 如果帶回原多項式應該要幾乎等於零才是。 但是將解代回去原多項式之後,最誇張是等於10^-4左右,最好在10^-13 其它大部分的解都是落在10^-11~10^-12之間。 但我想要的誤差是希望代回去的值大約在10^-15~10^-16之間。 請問這有什麼解決方法嗎?或是有什麼方法可以讓他精度提高呢? 煩請各位回答了,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 147.188.254.213 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1401985633.A.9BC.html

06/06 00:48, , 1F
看你帶回去的時候 小數點是不是被四捨五入掉了?
06/06 00:48, 1F

06/06 02:46, , 2F
解析解代入數值很容易有誤差值阿 所以要用數值解比較準
06/06 02:46, 2F

06/06 02:47, , 3F
直接用roots就好了
06/06 02:47, 3F

06/07 20:58, , 4F
因為已經接近解了,再寫一個解根的程式去"refine"這個根也行
06/07 20:58, 4F

06/07 21:00, , 5F
當然 要先確認函數計算本身的誤差嚴不嚴重
06/07 21:00, 5F

07/03 14:24, , 6F
還不夠接近根嗎? 有請 牛頓拉夫森先生出來射個兩槍看看
07/03 14:24, 6F
文章代碼(AID): #1Ja9fXcy (MATLAB)
文章代碼(AID): #1Ja9fXcy (MATLAB)