프로그래밍/매트랩

매트랩 다항식 Polynomials

에이티에스 2023. 8. 11. 10:09
728x90

MATLAB은 다항식을 내림차순으로 정렬된 계수를 포함하는 행 벡터로 나타냅니다.

 

예를 들어, 방정식 P(x) = x4 + 7배3 - 5x + 9는 다음과 같이 나타낼 수 있습니다.

p = [1 7 0 -5 9];

 

다항식 계산

polyval 함수는 지정된 값에서 다항식을 계산하는 데 사용됩니다. 예를 들어, 이전 다항식 p를 계산하려면 x = 4에서 다음을 입력하십시오.

 

p = [1 7 0  -5 9];
polyval(p,4)

 

MATLAB은 위의 명령문을 실행하고 다음과 같은 결과를 반환합니다 -

ans = 693

 

MATLAB은 행렬 다항식을 계산하기 위한 polyvalm 함수도 제공합니다. 행렬 다항식은 행렬을 변수로 하는 다항식입니다.

 

예를 들어, 정사각형 행렬 X를 만들고 X -에서 다항식 p를 계산해 보자

p = [1 7 0  -5 9];
X = [1 2 -3 4; 2 -5 6 3; 3 1 0 2; 5 -7 3 8];
polyvalm(p, X)

 

MATLAB은 위의 명령문을 실행하고 다음과 같은 결과를 반환합니다 -

ans =
      2307       -1769        -939        4499
      2314       -2376        -249        4695
      2256       -1892        -549        4310
      4570       -4532       -1062        9269

 

다항식의 근 찾기

roots 함수는 다항식의 근을 계산합니다. 예를 들어, 다항식 p의 근을 계산하려면 다음을 입력하십시오.

p = [1 7 0  -5 9];
r = roots(p)

 

MATLAB은 위의 명령문을 실행하고 다음과 같은 결과를 반환합니다 -

r =
   -6.8661 + 0.0000i
   -1.4247 + 0.0000i
   0.6454 + 0.7095i
   0.6454 - 0.7095i

 

함수 poly는 근 함수의 역함수이며 다항식 계수로 돌아갑니다. 예를 들면 다음과 같습니다.

p2 = poly(r)

 

MATLAB은 위의 명령문을 실행하고 다음과 같은 결과를 반환합니다 -

p2 =

   Columns 1 through 3:

      1.00000 + 0.00000i   7.00000 + 0.00000i   0.00000 + 0.00000i

   Columns 4 and 5:

      -5.00000 - 0.00000i   9.00000 + 0.00000i

 

다항식 곡선 피팅

polyfit 함수는 최소제곱 의미에서 데이터 집합을 피팅하는 다항식의 계수를 찾습니다. x와 y가 n도 다항식에 적합 할 x 및 y 데이터를 포함하는 두 벡터라면, 우리는 다음과 같이 작성하여 데이터에 맞는 다항식을 얻습니다.

p = polyfit(x,y,n)

 

예시

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

x = [1 2 3 4 5 6]; y = [5.5 43.1 128 290.7 498.4 978.67];   %data
p = polyfit(x,y,4)   %get the polynomial

% Compute the values of the polyfit estimate over a finer range, 
% and plot the estimate over the real data values for comparison:
x2 = 1:.1:6;          
y2 = polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on

 

파일을 실행할 때, MATLAB은 다음과 같은 결과를 표시합니다 -

p =
   4.1056  -47.9607  222.2598 -362.7453  191.1250

 

그리고 다음 그래프를 그립니다 -

728x90
반응형
그리드형