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) は、1 つ以上の Name,Value 引数のペアによって指定された追加オプションを使用します。上記のいずれの構文でも、入力引数の後に Name,Value を指定できます。

すべて折りたたむ

指数、正弦および余弦関数のマクローリン級数展開を最大 5 階まで求めます。

syms x
T1 = taylor(exp(x))
T2 = taylor(sin(x))
T3 = taylor(cos(x))
T1 = 
x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1

T2 = 
x^5/120 - x^3/6 + x

T3 = 
x^4/24 - x^2/2 + 1

関数 sympref を使用して、シンボリックな多項式の出力順序を変更できます。多項式を昇順で再表示します。

sympref('PolynomialDisplayStyle','ascend');
T1
T2
T3
T1 =
1 + x + x^2/2 + x^3/6 + x^4/24 + x^5/120
 
T2 =
x - x^3/6 + x^5/120
 
T3 =
1 - x^2/2 + x^4/24

sympref を使用して設定した表示形式は、現在およびこれ以降の MATLAB® セッションを通じて維持されます。既定値に戻すには 'default' オプションを指定します。

sympref('default');

次の関数の x = 1 におけるテイラー級数展開を求めます。展開点の既定値は 0 です。異なる展開点を指定するには、ExpansionPoint を使用します。

syms x
T = taylor(log(x), x, 'ExpansionPoint', 1)
T = 
x - (x - 1)^2/2 + (x - 1)^3/3 - (x - 1)^4/4 + (x - 1)^5/5 - 1

また、taylor の 3 番目の引数として展開点を指定できます。

T = taylor(acot(x), x, 1)
T = 
pi/4 - x/2 + (x - 1)^2/4 - (x - 1)^3/12 + (x - 1)^5/40 + 1/2

f = sin(x)/x のマクローリン級数展開を求めます。既定の打ち切り階数は 6 です。この式のテイラー級数近似には 5 次の項がないため、taylor ではこの式を 4 次多項式を使用して近似します。

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

Order を使用して、打ち切り階数を制御します。たとえば、最大 8 階数と 10 階数まで同じ式を近似します。

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

元の式 f とその近似 T6T8 および T10 をプロットします。近似の精度が打ち切り階数によってどう変わるかがわかります。

fplot([T6 T8 T10 f])
xlim([-4 4])
grid on

legend('approximation of sin(x)/x up to O(x^6)',...
       'approximation of sin(x)/x up to O(x^8)',...
       'approximation of sin(x)/x up to O(x^{10})',...
       'sin(x)/x','Location','Best')
title('Taylor Series Expansion')

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

この式のテイラー級数展開を求めます。既定の設定では、taylor は計算された級数の打ち切り階数である絶対階数を使用します。

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

OrderMode を使用した相対打ち切り階数によるテイラー級数展開を求めます。式によっては、相対打ち切り階数がより正確な近似を提示する場合もあります。

T = taylor(1/(exp(x)) - exp(x) + 2*x, x, 'Order', 5, 'OrderMode', 'relative')
T = 
- x^7/2520 - x^5/60 - x^3/3

この多変数式のマクローリン級数展開を求めます。変数のベクトルを指定しない場合、taylorf を 1 つの独立変数の関数として処理します。

syms x y z
f = sin(x) + cos(y) + exp(z);
T = taylor(f)
T = 
x^5/120 - x^3/6 + x + cos(y) + exp(z)

変数のベクトルを指定し、多変数マクローリン展開を求めます。

syms x y z
f = sin(x) + cos(y) + exp(z);
T = taylor(f, [x, y, z])
T =
x^5/120 - x^3/6 + x + y^4/24 - y^2/2 + z^5/120 + z^4/24 + z^3/6 + z^2/2 + z + 2

関数 sympref を使用して、シンボリックな多項式の出力順序を変更できます。多項式を昇順で再表示します。

sympref('PolynomialDisplayStyle','ascend');
T
T =
2 + z + z^2/2 + z^3/6 + z^4/24 + z^5/120 - y^2/2 + y^4/24 + x - x^3/6 + x^5/120

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 - 1)^2/2 + (y - 1)^2/2

展開点をスカラー a として指定すると、taylor はそのスカラーを変数のベクトルと同じ長さのベクトルに変換します。展開ベクトルのすべての要素は、a と等しくなります。

T = taylor(f, [x, y], 1, 'Order', 3)
T = 
x + (x - 1)^2/2 + (y - 1)^2/2

入力引数

すべて折りたたむ

近似する入力。シンボリック式またはシンボリック関数として指定します。これには、シンボリック式またはシンボリック関数のベクトル、行列または多次元配列を指定することもできます。

展開変数。シンボリック変数として指定します。var を指定しない場合、taylorsymvar(f,1) によって決定される既定の変数を使用します。

展開点。数値あるいはシンボリック数、変数、関数または式として指定します。展開点は展開変数では変更できません。また、展開点は Name,Value のペア引数として指定することもできます。展開点を両方の方法で指定する場合、Name,Value ペア引数が優先されます。

名前と値のペアの引数

引数 Name,Value のオプションのコンマ区切りペアを指定します。Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

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

展開点。数値あるいはシンボリック数、変数、関数または式として指定します。展開点は展開変数では変更できません。また、展開点は入力引数 a を使用して指定することもできます。展開点を両方の方法で指定する場合、Name,Value ペア引数が優先されます。

テイラー級数展開の打ち切り階数。正の整数またはシンボリックな正の整数として指定します。taylor は、階数 n - 1 でテイラー級数近似を計算します。打ち切り階数 n は、O 項 O(varn) の指数です。

階数モード インジケーター。'absolute' または 'relative' として指定します。このインジケーターは、テイラー多項式近似を計算するときに、絶対階数または相対階数のいずれを使用するのかを指定します。

"絶対階数" は計算された級数の打ち切り階数です。"相対階数" n は、計算された級数の var の指数が、最小階数 m から最高指数 m + n - 1 の範囲であることを意味します。ここで、m + n は、O 項 O(varm + n)var の指数です。

詳細

すべて折りたたむ

テイラー級数展開

テイラー級数展開では、解析関数 f(x) が、展開の点 x = a を中心とした項の無限和として表現されます。

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

ヒント

  • 3 番目の引数 aExpansionPoint の両方を使用して展開点を指定する場合、ExpansionPoint で指定された値が優先されます。

  • var がベクトルの場合、展開点 avar と同じ長さのスカラーまたはベクトルでなければなりません。var がベクトルで a がスカラーの場合、avar と同じ長さのベクトルに展開され、すべての要素が a と等しくなります。

  • 展開点が無限大または負の無限大の場合、taylor はローラン級数展開を計算します。これは、1/var のべき級数です。

  • 関数 sympref を使用して、シンボリックな多項式の出力順序を変更できます。

R2006a より前に導入