Main Content

多項式の曲線近似

この例では、関数 polyfit を使用して多項式の曲線を一連のデータ点に当てはめる方法を示します。構文により、polyfit を使用して、最小二乗法で一連のデータに当てはめる多項式の係数を求めることができます。

p = polyfit(x,y,n),

ここで、

  • x および y は、データ点の x および y 座標を含むベクトルです。

  • n は近似する多項式の次数です。

5 個のデータ点の "x-y" テスト データを作成します。

x = [1 2 3 4 5]; 
y = [5.5 43.1 128 290.7 498.4];

polyfit を使用してデータに当てはめる 3 次多項式を求めます。

p = polyfit(x,y,3)
p = 1×4

   -0.1917   31.5821  -60.3262   35.3400

polyfit を使用して近似線の多項式を取得した後、polyval を使用して、元のデータに含まれていなかった可能性のある他の点で多項式を評価できます。

細かい領域で polyfit の推定値を計算し、実際のデータ値と比較するために重ねてプロットします。近似線の方程式の注釈を含めます。

x2 = 1:.1:5;
y2 = polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on
s = sprintf('y = (%.1f) x^3 + (%.1f) x^2 + (%.1f) x + (%.1f)',p(1),p(2),p(3),p(4));
text(2,400,s)

Figure contains an axes object. The axes object contains 3 objects of type line, text. One or more of the lines displays its values using only markers

参考

|

関連するトピック