[問題] 使用polyfit發現的問題已回收

看板MATLAB作者 (嚕啦啦)時間16年前 (2009/03/12 16:33), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
我手上有一組data t = [0,1,2,3,4]; V1 = [0,1,4,9,16]; 然後現在我想抓出在 V1 = 9 時的微分值, 後來想到先用polyfit先對t和V1做擬合,再將擬合後的曲線微一次分, 再把V1=9的值代入,方程式如下: aa = polyfit(t,V1,6); syms x bb = poly2sym(aa,x); cc = diff(bb); dd = sym2poly(cc); s = polyval(dd,t) 預期最後 s 應該會是 0,2,4,6,8 但是在使用polyfit時發現一個問題, 從data裡可以明顯的知道,V1其實就是t^2, 不過,若是我polyfit選擇的比2階還來得大,像上面的code裡選的是6階, 那麼最後出來的微分值就不會是預期的 0,2,4,6,8 , 反而會是其他怪怪的數字, 是不是我polyfit在使用上哪裡有錯誤呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.23.134

03/12 19:36, , 1F
你把各階polyfit的結果畫圖就知道差在哪裡
03/12 19:36, 1F

03/12 22:56, , 2F
建議你用interp1,至於取值問題自己爬文囉
03/12 22:56, 2F

04/06 16:16, , 3F
感謝大家,已經找到問題點了,謝謝
04/06 16:16, 3F
文章代碼(AID): #19kCZNTo (MATLAB)
文章代碼(AID): #19kCZNTo (MATLAB)