Main Content

다항식 곡선 피팅

이 예제에서는 polyfit 함수를 사용하여 다항식 곡선을 데이터 점 집합에 피팅하는 방법을 보여줍니다. 다음 구문을 통해 polyfit 함수를 사용하여 최소제곱법으로 데이터 세트를 피팅하는 다항식의 계수를 구할 수 있습니다.

p = polyfit(x,y,n),

여기서

  • xy는 데이터 점의 xy 좌표가 포함된 벡터입니다.

  • 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

참고 항목

|

관련 항목