2014-02-25 17 views
0

的11個等距點的多項式。所以這個問題更具體地基於牛頓形式,但我無法編寫腳本。你會如何處理寫這個,我到目前爲止是找到10次插值函數arctan(x)的間隔[1,6]

length = abs(c-d);

m =長度/ 11;

對於k = c:m:d;

fk=func(k); 

但我無法弄清楚如何存儲所有的值轉換爲矢量,所以我可以運行牛頓多項式插值。

回答

1
  1. 請勿使用length作爲變量名稱,因爲有一個名爲length的預定義函數。
  2. 如果您將長度除以11,並執行c:m:d,則會創建12個等距點。除以10。
  3. 當你做c:m:d時,你需要確保c<d

這只是一個簡單的線性迴歸問題。您可以通過創建11x11矩陣來手動解決問題,也可以使用polyfit

X = c:m:d; 
Y = atan(X); 
C = polyfit(X,Y,10); 

是最簡單的解決方案,但如果你想知道發生了什麼,你可以做到這一點。

A = [X.^10,X.^9,X.^8,X.^7,X.^6,X.^5,X.^4,X.^3,X.^2,X.^1,X,ones(11,1)]; 
C = A\Y; 

您將得到相同的係數矢量C。你所需的多項式是這樣

y = C(1)*x^10 + C(2)*x^9 + ......+ C(10)*x + C(11) 
+0

此外,它是更容易地創建'X'使用'linspace(C,d,N)''那裏是N'你想要的點數。那麼它甚至不關心'c> d'。 – David