[其他] 想請問一下多筆資料polyfit的寫法

看板MATLAB作者 (無尾熊寶寶)時間10年前 (2015/04/29 19:12), 10年前編輯推噓3(3010)
留言13則, 2人參與, 最新討論串1/1
各位先進好 小弟是matlab新手 現在有多筆資料需要做polyfit 例:現在有三個matrix(稱A,B,C)大小一樣 分別存放Data A=[a11 a12...a1n; B=[b11 b12...b1n; C=[c11 c12...c1n; a21 a22...a2n; b21 b22...b2n; c21 c22...c2n; .............; .............; ..............; am1 am2...amn]; bm1 bm2...bmn]; cm1 cm2...cmn]; 現在要求出各自matrix 點對點的斜率 所以小弟的寫法是這樣 for x=1:m, for y=1:n, a=polyfit([1 5 10],[A(x,y) B(x,y) C(x,y)],1); Data(x,y)=a(1); end end 因為實際上m和n的大小有點大 所以在這樣跑回圈算結果的時候 需要花真的非常久的時間 所以小弟想請問各位先進 有沒有比較不一樣的寫法可以較快速地完成小弟想做的事 真的很謝謝各位大大!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.82.90 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1430305936.A.344.html ※ 編輯: perrywu (140.116.82.90), 04/29/2015 19:14:05

04/29 22:13, , 1F
三個點做linear fitting應該有簡單公式解
04/29 22:13, 1F

04/29 22:16, , 2F
Data=(13*A+B-14*C)/122;
04/29 22:16, 2F

04/29 22:22, , 3F
想請問大大上面那個式子是怎麼推導的!謝謝
04/29 22:22, 3F

04/30 01:41, , 4F
04/30 01:41, 4F

04/30 21:27, , 5F
很感謝大大
04/30 21:27, 5F

05/01 14:06, , 6F
大大你好 有發現一個問題實際上我去做fitting時是拿兩筆
05/01 14:06, 6F

05/01 14:08, , 7F
再與原點fiting 所以實際上x=[0 6 12] y=[0 A B]這樣帶入
05/01 14:08, 7F

05/01 14:10, , 8F
簡單公式解會發現最後斜率只有 data=B/12; 只受B影響
05/01 14:10, 8F

05/01 14:11, , 9F
但實際上做polyfit會發現做出來的斜率是會受到0和A的影響
05/01 14:11, 9F

05/01 14:11, , 10F
所以勢必可能還是會須 要用polyfit?還想請問各位先進是否
05/01 14:11, 10F

05/01 14:12, , 11F
有其他的方法?非常感謝
05/01 14:12, 11F

05/01 14:17, , 12F
SORRY!好像是自己的誤解~小弟在測試看看 謝謝!不好意思
05/01 14:17, 12F

05/01 14:17, , 13F
小弟弄錯公式了!抱歉
05/01 14:17, 13F
文章代碼(AID): #1LGBoGD4 (MATLAB)
文章代碼(AID): #1LGBoGD4 (MATLAB)