このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
taylor
テイラー級数
説明
は、前述の構文の入力引数の組み合わせのいずれかに加えて、1 つ以上の名前と値の引数を使用して、オプションを指定します。たとえば、テイラー級数展開の展開点、打ち切り階数、または階数モードを指定できます。T
= taylor(___,Name,Value
)
例
一変数式のマクローリン級数の計算
指数、正弦および余弦関数のマクローリン級数展開を最大 5 階まで求めます。
syms x
T1 = taylor(exp(x))
T1 =
T2 = taylor(sin(x))
T2 =
T3 = taylor(cos(x))
T3 =
関数 sympref
を使用して、シンボリックな多項式の出力順序を変更できます。多項式を昇順で再表示します。
sympref('PolynomialDisplayStyle','ascend'); T1
T1 =
T2
T2 =
T3
T3 =
sympref
を使用して設定した表示形式は、現在およびこれ以降の MATLAB® セッションを通じて維持されます。既定値に戻すには 'default'
オプションを指定します。
sympref('default');
展開点の指定
次の関数の におけるテイラー級数展開を求めます。展開点の既定値は 0 です。異なる展開点を指定するには、ExpansionPoint
を使用します。
syms x T = taylor(log(x),x,'ExpansionPoint',1)
T =
または、展開点を taylor
の 3 番目の引数として指定します。
T = taylor(acot(x),x,1)
T =
打ち切り階数の指定
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')
相対打ち切り階数か絶対打ち切り階数かの指定
この式のテイラー級数展開を求めます。既定の設定では、taylor
は計算された級数の打ち切り階数である絶対階数を使用します。
syms x T = taylor(1/exp(x) - exp(x) + 2*x,x,'Order',5)
T =
OrderMode
を使用した相対打ち切り階数によるテイラー級数展開を求めます。式によっては、相対打ち切り階数がより正確な近似を提示する場合もあります。
T = taylor(1/exp(x) - exp(x) + 2*x,x,'Order',5,'OrderMode','relative')
T =
多変数式のマクローリン級数の計算
この多変数式のマクローリン級数展開を求めます。変数のベクトルを指定しない場合、taylor
は f
を 1 つの独立変数の関数として処理します。
syms x y z f = sin(x) + cos(y) + exp(z); T = taylor(f)
T =
変数のベクトルを指定して、多変数マクローリン級数展開を求めます。
syms x y z f = sin(x) + cos(y) + exp(z); T = taylor(f,[x,y,z])
T =
関数 sympref
を使用して、シンボリックな多項式の出力順序を変更できます。多項式を昇順で再表示します。
sympref('PolynomialDisplayStyle','ascend'); T
T =
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 =
展開点をスカラー a
として指定すると、taylor
はそのスカラーを変数のベクトルと同じ長さのベクトルに変換します。展開ベクトルのすべての要素は、a
と等しくなります。
T = taylor(f,[x y],1,'Order',3)
T =
テイラー近似での誤差推定
テイラー級数展開を使用して関数 を近似するときの誤差推定を求めます。ここで、展開点 での最大 7 階までのテイラー近似 (打ち切り階数 ) について考えます。
テイラー近似の誤差または剰余は、次のラグランジュ形式で与えられます。
誤差推定の上限は、 と の間のすべての に対して となるような正の実数 を求めることによって計算できます。
Order
を 8
として指定して、関数 のテイラー級数展開を最大 7 階まで求めます。
syms x
f = log(x+1)
f =
T = taylor(f,'Order',8)
T =
テイラー近似の誤差を推定するには、最初に項 を計算します。
syms c
fn(c) = subs(diff(f,8),x,c)
fn(c) =
の正の値の場合、誤差推定の上限は、関係 を使用して計算できます ( は正の値、かつ から正の の間になければならないため)。次に、 のラグランジュと関係 を使用して、誤差推定 Rupper(x)
の上限を求めます。
Rupper(x) = 5040*x^8/factorial(8)
Rupper(x) =
点 でテイラー級数展開を評価します。テイラー近似で誤差推定の上限を求めます。
Teval = subs(T,x,0.5)
Teval =
Rmax = double(Rupper(0.5))
Rmax = 4.8828e-04
比較のために、 で当の関数を評価し、テイラー近似で剰余を求めます。
feval = subs(f,x,0.5)
feval =
R = double(abs(feval-Teval))
R = 3.3846e-04
入力引数
f
— 近似する入力
シンボリック式 | シンボリック関数 | シンボリック ベクトル | シンボリック行列 | シンボリック多次元配列
近似する入力。シンボリック式またはシンボリック関数として指定します。これには、シンボリック式またはシンボリック関数のベクトル、行列または多次元配列を指定することもできます。
var
— 展開変数
シンボリック変数
展開変数。シンボリック変数として指定します。var
を指定しない場合、taylor
は symvar(f,1)
によって決定される既定の変数を使用します。
a
— 展開点
0 (既定値) | 数値 | シンボリック数 | シンボリック変数 | シンボリック関数 | シンボリック式
展開点。数値あるいはシンボリック数、変数、関数または式として指定します。展開点は展開変数では変更できません。展開点は名前と値の引数として指定することもできます。展開点を両方の方法で指定した場合、名前と値の引数が優先されます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は関係ありません。
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name
を引用符で囲みます。
例: taylor(log(x),x,'ExpansionPoint',1,'Order',9)
ExpansionPoint
— 展開点
0 (既定値) | 数値 | シンボリック数 | シンボリック変数 | シンボリック関数 | シンボリック式
展開点。数値あるいはシンボリック数、変数、関数または式として指定します。展開点は展開変数では変更できません。また、展開点は入力引数 a
を使用して指定することもできます。展開点を両方の方法で指定した場合、名前と値の引数が優先されます。
Order
— テイラー級数展開の打ち切り階数
6 (既定値) | 正の整数 | シンボリックな正の整数
テイラー級数展開の打ち切り階数。正の整数またはシンボリックな正の整数として指定します。taylor
は、階数 n - 1
でテイラー級数近似を計算します。打ち切り階数 n
は、O 項 O(varn) の指数です。
OrderMode
— 階数モード インジケーター
'absolute'
(既定値) | 'relative'
階数モード インジケーター。'absolute'
または 'relative'
として指定します。このインジケーターは、テイラー多項式近似を計算するときに、絶対階数と相対階数のいずれを使用するのかを指定します。
"絶対階数" は計算された級数の打ち切り階数です。"相対階数" n
は、計算された級数の var
の指数が、最小階数 m
から最高指数 m + n - 1
の範囲であることを意味します。ここで、m + n
は、O 項 O(varm + n) 内の var
の指数です。
詳細
テイラー級数展開
テイラー級数展開では、解析関数 f(x) が、展開の点 x = a を中心とした項の無限和として表現されます。
テイラー級数展開では、関数が展開点付近で無限階となる導関数である必要があります。
マクローリン級数展開
x = 0 を中心としたテイラー級数展開は、マクローリン級数展開と呼ばれます。
ヒント
3 番目の引数
a
とExpansionPoint
の両方を使用して展開点を指定した場合、ExpansionPoint
で指定された値が優先されます。var
がベクトルの場合、展開点a
はvar
と同じ長さのスカラーまたはベクトルでなければなりません。var
がベクトルでa
がスカラーの場合、a
はvar
と同じ長さのベクトルに展開され、すべての要素がa
と等しくなります。展開点が無限大または負の無限大の場合、
taylor
はローラン級数展開を計算します。これは、1/var
のべき級数です。関数
sympref
を使用して、シンボリックな多項式の出力順序を変更できます。taylor
がテイラー級数展開を求められない場合は、series
を使用して、より一般的なピュイズー級数展開を求めます。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)