[問題] polyfit結果的項數條件已回收

看板MATLAB作者時間16年前 (2009/05/01 02:14), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串1/3 (看更多)
像是 x=[a1 a2 a3 a4 a5]; y=[b1 b2 b3 b4 b5]; p=polyfit(x,y,4) 這樣的三行指令便能將曲線擬合成c1*x^4+c2*x^3+c3*x^2+c4*x+c5的式子 但是如果要限制結果是c1*x^4+c2*x^2的式子 也就是只用偶數x次方來表現的話 請問應該怎麼做呢?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.136.21 ※ 編輯: airytw 來自: 118.167.136.21 (05/01 02:14)

05/01 13:15, , 1F
polyfit.m 可以打開,複製過來自己存一個polyfit2.m
05/01 13:15, 1F

05/01 13:15, , 2F
在 % Construct Vandermonde matrix. 這行後面加上n=n/2;
05/01 13:15, 2F

05/01 13:16, , 3F
再把 for 裡面的 V(:,j) = x.*V(:,j+1);
05/01 13:16, 3F

05/01 13:16, , 4F
換成 V(:,j) = (x.^2).*V(:,j+1); 就可以了
05/01 13:16, 4F
文章代碼(AID): #19-Uf-c7 (MATLAB)
文章代碼(AID): #19-Uf-c7 (MATLAB)