Main Content

taylor

설명

예제

T = taylor(f,var)은 점 var = 0에서 f의 5차까지의 테일러 급수 전개f를 근사합니다. var을 지정하지 않으면 taylorsymvar(f,1)에서 결정된 디폴트 변수를 사용합니다.

예제

T = taylor(f,var,a)는 점 var = a에서 f의 테일러 급수 전개로 f를 근사합니다.

예제

T = taylor(___,Name,Value)는 위에 열거된 구문의 입력 인수 조합과 함께 하나 이상의 이름-값 인수를 사용하여 옵션을 지정합니다. 예를 들어 테일러 급수 전개의 전개 점, 절단 차수 또는 차수 모드를 지정할 수 있습니다.

예제

모두 축소

지수, 사인, 코사인 함수의 매클로린 급수 전개를 5차까지 구합니다.

syms x
T1 = taylor(exp(x))
T1 = 

x5120+x424+x36+x22+x+1

T2 = taylor(sin(x))
T2 = 

x5120-x36+x

T3 = taylor(cos(x))
T3 = 

x424-x22+1

sympref 함수를 사용하여 기호 다항식의 출력 순서를 수정할 수 있습니다. 다항식을 오름차순으로 다시 표시합니다.

sympref('PolynomialDisplayStyle','ascend');
T1
T1 = 

1+x+x22+x36+x424+x5120

T2
T2 = 

x-x36+x5120

T3
T3 = 

1-x22+x424

sympref 함수를 사용하여 설정한 표시 형식은 현재 세션뿐만 아니라 이후의 MATLAB® 세션까지 계속 적용됩니다. 'default' 옵션을 지정하여 디폴트 값을 복원합니다.

sympref('default');

다음 함수에 대해 x=1에서 테일러 급수 전개를 구합니다. 디폴트 전개 점은 0입니다. 다른 전개 점을 지정하려면 ExpansionPoint를 사용하십시오.

syms x
T = taylor(log(x),x,'ExpansionPoint',1)
T = 

x-x-122+x-133-x-144+x-155-1

또는 전개 점을 taylor의 세 번째 인수로 지정합니다.

T = taylor(acot(x),x,1)
T = 

π4-x2+x-124-x-1312+x-1540+12

f = sin(x)/x에 대한 매클로린 급수 전개를 구합니다. 디폴트 절단 차수는 6입니다. 이 표현식의 테일러 급수 근사에는 5차 항이 없으므로 taylor는 이 표현식을 4차 다항식으로 근사합니다.

syms x
f = sin(x)/x;
T6 = taylor(f,x);

Order를 사용하여 절단 차수를 제어합니다. 예를 들어, 동일한 표현식을 7차와 9차까지 근사합니다.

T8 = taylor(f,x,'Order',8);
T10 = taylor(f,x,'Order',10);

원래 표현식 f와 그 근사 T6, T8, T10을 플로팅합니다. 근사의 정확도가 절단 차수에 따라 어떻게 달라지는지 확인합니다.

fplot([T6 T8 T10 f])
xlim([-4 4])
grid on
legend('approximation of sin(x)/x with error O(x^6)', ...
       'approximation of sin(x)/x with error O(x^8)', ...
       'approximation of sin(x)/x with error O(x^{10})', ...
       'sin(x)/x','Location','Best')
title('Taylor Series Expansion')

Figure contains an axes object. The axes object with title Taylor Series Expansion contains 4 objects of type functionline. These objects represent approximation of sin(x)/x with error O(x^6), approximation of sin(x)/x with error O(x^8), approximation of sin(x)/x with error O(x^{10}), sin(x)/x.

다음 표현식의 테일러 급수 전개를 구합니다. 기본적으로 taylor는 절대 차수를 사용합니다. 그리고, 그 차수에 맞춰 급수를 구합니다.

syms x
T = taylor(1/exp(x) - exp(x) + 2*x,x,'Order',5)
T = 

-x33

OrderMode를 사용하여 상대 절단 차수로 테일러 급수 전개를 구합니다. 일부 표현식의 경우 상대 절단 차수가 보다 정확한 근사를 제공합니다.

T = taylor(1/exp(x) - exp(x) + 2*x,x,'Order',5,'OrderMode','relative')
T = 

-x72520-x560-x33

다음 다변량 표형식의 매클로린 급수 전개를 구합니다. 변수로 구성된 벡터를 지정하지 않으면 taylorf를 하나의 독립 변수에 대한 함수로 취급합니다.

syms x y z
f = sin(x) + cos(y) + exp(z);
T = taylor(f)
T = 

x5120-x36+x+cos(y)+ez

변수로 구성된 벡터를 지정하여 다변량 매클로린 급수 전개를 구합니다.

syms x y z
f = sin(x) + cos(y) + exp(z);
T = taylor(f,[x,y,z])
T = 

x5120-x36+x+y424-y22+z5120+z424+z36+z22+z+2

sympref 함수를 사용하여 기호 다항식의 출력 순서를 수정할 수 있습니다. 다항식을 오름차순으로 다시 표시합니다.

sympref('PolynomialDisplayStyle','ascend');
T
T = 

2+z+z22+z36+z424+z5120-y22+y424+x-x36+x5120

sympref를 사용하여 설정한 표시 형식은 현재 세션뿐만 아니라 이후의 MATLAB 세션까지 계속 적용됩니다. 'default' 옵션을 지정하여 디폴트 값을 복원합니다.

sympref('default');

변수로 구성된 벡터와 전개 점을 정의하는 값으로 구성된 벡터를 지정하여 다변량 테일러 급수 전개를 구합니다.

syms x y
f = y*exp(x - 1) - x*log(y);
T = taylor(f,[x y],[1 1],'Order',3)
T = 

x+x-122+y-122

전개 점을 스칼라 a로 지정하면 taylor는 이 스칼라를 변수로 구성된 벡터와 길이가 같은 벡터로 변환합니다. 전개 벡터의 모든 요소는 a와 같습니다.

T = taylor(f,[x y],1,'Order',3)
T = 

x+x-122+y-122

테일러 급수 전개를 사용하여 함수 f(x)=log(x+1)을 근사할 경우의 오차 추정값을 구합니다. 여기서는 전개 점 n=8에서 7차까지의 테일러 근사(절단 차수 a=0 포함)를 가정해 보겠습니다.

테일러 근사의 오차 또는 나머지는 라그랑주 형식으로 주어집니다.

Rn-1(x)=fn(c)n!(x-a)n.

오차 추정값의 상한은 ax 사이의 모든 c에 대해 |fn(c)|M이 되는 양의 실수 M을 구해 계산할 수 있습니다.

Order8로 지정하여 함수 f(x)=log(x+1)의 테일러 급수 전개를 7차까지 구합니다.

syms x
f = log(x+1)
f = log(x+1)
T = taylor(f,'Order',8)
T = 

x77-x66+x55-x44+x33-x22+x

테일러 근사의 오차를 추정하려면 먼저 항 f8(c)를 계산합니다.

syms c
fn(c) = subs(diff(f,8),x,c)
fn(c) = 

-5040c+18

x의 양수 값의 경우 오차 추정값의 상한은 관계 |f8(c)|5040을 사용하여 계산할 수 있습니다(c0과 양수 x 사이의 양수 값이어야 하기 때문). 다음으로 라그랑주 형식 R7(x)와 관계 |f8(c)|5040을 사용하여 오차 추정값 Rupper(x)의 상한을 구합니다.

Rupper(x) = 5040*x^8/factorial(8)
Rupper(x) = 

x88

x=0.5에서 테일러 급수 전개를 계산합니다. 테일러 근사에서 오차 추정값의 상한을 구합니다.

Teval = subs(T,x,0.5)
Teval = 

9092240

Rmax = double(Rupper(0.5))
Rmax = 4.8828e-04

비교를 위해 x=0.5에서 엄밀한 함수를 계산하고 테일러 근사에서 나머지를 구합니다.

feval = subs(f,x,0.5)
feval = 

log(32)

R = double(abs(feval-Teval))
R = 3.3846e-04

입력 인수

모두 축소

근사할 입력값으로, 기호 표현식 또는 기호 함수로 지정됩니다. 또한, 기호 표현식 또는 기호 함수로 구성된 벡터, 행렬 또는 다차원 배열일 수 있습니다.

전개 변수로, 기호 변수로 지정됩니다. var을 지정하지 않으면 taylorsymvar(f,1)에서 결정된 디폴트 변수를 사용합니다.

전개 점으로, 숫자, 기호 숫자, 기호 변수, 기호 함수 또는 기호 표현식으로 지정됩니다. 전개 점은 전개 변수에 종속될 수 없습니다. 전개 점을 이름-값 인수로 지정할 수도 있습니다. 전개 점을 두 가지 방법으로 지정하면 이름-값 인수가 우선합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 버전에서는 쉼표를 사용하여 각 이름과 값을 구분하고 따옴표로 Name을 묶으십시오.

예: taylor(log(x),x,'ExpansionPoint',1,'Order',9)

전개 점으로, 숫자, 기호 숫자, 기호 변수, 기호 함수 또는 기호 표현식으로 지정됩니다. 전개 점은 전개 변수에 종속될 수 없습니다. 입력 인수 a를 사용하여 전개 점을 지정할 수도 있습니다. 전개 점을 두 가지 방법으로 지정하면 이름-값 인수가 우선합니다.

테일러 급수 전개의 절단 차수로, 양의 정수 또는 양의 기호 정수로 지정됩니다. taylor는 차수 n - 1을 사용하여 테일러 급수 근사를 계산합니다. 절단 차수 n은 O항 즉, O(varn)의 지수입니다.

차수 모드 표시자로, 'absolute' 또는 'relative'로 지정됩니다. 이 표시자는 테일러 다항식 근사를 구할 때 절대 차수와 상대 차수 중 어느 것을 사용할지 지정합니다.

절대 차수는 어떤 차수에서 잘라 급수를 구할지 나타냅니다. 상대 차수 n은 계산된 급수에서 var의 지수 범위가 선행 차수 m부터 가장 큰 지수 m + n - 1까지라는 것을 의미합니다. 여기서 m + n은 O항 즉, O(varm + n)에 있는 var의 지수입니다.

세부 정보

모두 축소

테일러 급수 전개

테일러 급수 전개는 전개 점 x = a를 중심으로 하는 항들의 무한 합으로 해석 함수 f(x)를 나타냅니다.

f(x)=f(a)+f(a)1!(xa)+f(a)2!(xa)2+=m=0f(m)(a)m!(xa)m

테일러 급수 전개에서는 함수가 전개 점 주위에서 도함수를 무한 차수까지 가져야 합니다.

매클로린 급수 전개

다음과 같이 x = 0을 중심으로 하는 테일러 급수 전개를 매클로린 급수 전개라고 합니다.

f(x)=f(0)+f(0)1!x+f(0)2!x2+=m=0f(m)(0)m!xm

  • 세 번째 인수 aExpansionPoint를 둘 다 사용하여 전개 점을 지정하면 ExpansionPoint로 지정된 값이 우선합니다.

  • var이 벡터이면 전개 점 a는 스칼라이거나 var과 같은 길이의 벡터여야 합니다. var이 벡터이고 a가 스칼라이면 a는 모든 요소가 a와 같고 길이가 var과 같은 벡터로 확장됩니다.

  • 전개 점이 무한대 또는 음의 무한대이면 taylor1/var의 멱급수인 로랑 급수 전개를 구합니다.

  • sympref 함수를 사용하여 기호 다항식의 출력 순서를 수정할 수 있습니다.

  • taylor가 테일러 급수 전개를 구할 수 없으면 series를 사용하여 더 일반적인 퓌죠 급수 전개를 구합니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | |

도움말 항목