English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLAB 다항식

MATLAB은 다항식을 행 벡터로 표현하며, 계수는 차수가 내림차순으로 정렬됩니다. 예를 들어, 방정식 P(x)= X 4 + 7× 3 - 5×+ 9대신 표현할 수 있습니다-

p = [1 7 0 -5 9];

다항식 값을 구합니다

polyval특정 값의 다항식을 찾는 함수입니다. 예를 들어, x = 4 이전 다항식 p를 계산할 때, 다음과 같이 입력하십시오-

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 =
   열 1 through 3:
      1.00000 + 0.00000i   7.00000 + 0.00000i   0.00000 + 0.00000i
   열 4 and 5:
      -5.00000 - 0.00000i   9.00000 + 0.00000i

다항식 곡선拟合

polyfitpolyfit 함수는 최소 제곱 의미에서 데이터 집합에 적합한 다항式的 계수를 찾습니다. 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
p = polyfit(x,y,4)   % 다항식을 얻습니다
% 더 작은 범위에서 polyfit 추정치를 계산합니다
% 그리고 실제 데이터를 사용하여 추정치를 그려서 비교할 수 있습니다
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

그리고 다음 그림을 그려서-