変数 x と y を含むデータ ファイルをロードし、1 次、2 次、3 次、4 次、5 次の多項式に適合させるスクリプトを作成する必要があります。Figure にデータを青い点としてプロットし、同じ軸上に異なる色の線を使用して 5 つの多項式近似をすべてプロットします。これは、次のようになります。
代わりに、データから分離された多項式を取得します。データ軸は ([100 200 -0.2 0.2]) ですが、ポリノムは軸 ([0 100 -0.2 0.2]) にあります。
私のスクリプト:
%Fitting Polynomials
Dat=load('randomData.mat');
[p1,S1,mu] = polyfit(x,y,1)
[Y1,delta]= polyval(p1,x,S1,mu)
[p2,S2,mu] = polyfit(x,y,2)
[Y2,delta]= polyval(p2,x,S2,mu)
[p3,S3,mu] = polyfit(x,y,3)
[Y3,delta]= polyval(p3,x,S3,mu)
[p4,S4,mu] = polyfit(x,y,4)
[Y4,delta]= polyval(p4,x,S4,mu)
[p5,S5,mu] = polyfit(x,y,5)
[Y5,delta]= polyval(p5,x,S5,mu)
figure;
plot(x,y,'b.','MarkerSize',10)
hold on
plot(Y1,'r')
plot(Y2,'g')
plot(Y3,'m')
plot(Y4,'c')
plot(Y5,'k')
xlabel('X');
ylabel('Y');
title('Polynomial fitting to noisy data');
legend('Data','order 1','order 2','order 3','order 4','order 5')
hold off