Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

series

説明

series(f,var) は、点 var = 0 において、f のピュイズー級数展開を使用して最大 5 階まで f を近似します。var を指定しない場合、seriessymvar(f,1) によって決定される既定の変数を使用します。

series(f,var,a) は、点 var = a において、f のピュイズー級数展開を使用して f を近似します。

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

ピュイズー級数展開の計算

一変数および多変数の式のピュイズー級数展開を求めます。

x = 0 における次の式のピュイズー級数展開を求めます。

syms x
series(1/sin(x), x)
ans =
x/6 + 1/x + (7*x^3)/360

次の多変数式のピュイズー級数展開を求めます。展開変数を指定しない場合、seriessymvar(f,1) により決定される既定の変数を使用します。

syms s t
f = sin(s)/sin(t);
symvar(f, 1)
series(f)
ans =
t
 
ans =
sin(s)/t + (7*t^3*sin(s))/360 + (t*sin(s))/6

別の展開変数を使用するには、展開変数を明示的に指定します。

syms s t
f = sin(s)/sin(t);
series(f, s)
ans =
s^5/(120*sin(t)) - s^3/(6*sin(t)) + s/sin(t)

展開点の指定

x = Inf の場合の psi(x) のピュイズー級数展開を求めます。展開点の既定値は 0 です。異なる展開点を指定するには、ExpansionPoint の名前と値のペアを使用します。

series(psi(x), x, 'ExpansionPoint', Inf)
ans =
log(x) - 1/(2*x) - 1/(12*x^2) + 1/(120*x^4)

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

syms x
series(psi(x), x, Inf)
ans =
log(x) - 1/(2*x) - 1/(12*x^2) + 1/(120*x^4)

ピュイズー級数近似のプロット

異なる打ち切り階数を使用して exp(x)/x のピュイズー級数展開を求めます。

既定の打ち切り階数である 6 まで、級数展開を求めます。

syms x
f = exp(x)/x;
s6 = series(f, x)
s6 = 

x2+1x+x26+x324+x4120+1x/2 + 1/x + x^2/6 + x^3/24 + x^4/120 + 1

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

s7 = series(f, x, 'Order', 7)
s7 = 

x2+1x+x26+x324+x4120+x5720+1x/2 + 1/x + x^2/6 + x^3/24 + x^4/120 + x^5/720 + 1

s8 = series(f, x, 'Order', 8)
s8 = 

x2+1x+x26+x324+x4120+x5720+x65040+1x/2 + 1/x + x^2/6 + x^3/24 + x^4/120 + x^5/720 + x^6/5040 + 1

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

fplot([s6 s7 s8 f])
legend('approximation up to O(x^6)','approximation up to O(x^7)',...
            'approximation up to O(x^8)','exp(x)/x','Location', 'Best')
title('Puiseux Series Expansion')

Figure contains an axes. The axes with title Puiseux Series Expansion contains 4 objects of type functionline. These objects represent approximation up to O(x^6), approximation up to O(x^7), approximation up to O(x^8), exp(x)/x.

展開の方向の指定

引数 Direction を使用してピュイズー級数近似を求めます。この引数を使用して、収束領域を変更できます。収束領域とは、series で元の式に近似するように収束するピュイズー級数展開を求める領域です。

この式のピュイズー級数近似を求めます。既定では、series は、展開点の周りの複素平面における小さな開円盤で有効な近似を求めます。

syms x
series(sin(sqrt(-x)), x)
ans =
(-x)^(1/2) - (-x)^(3/2)/6 + (-x)^(5/2)/120

展開点の左側の小さい区間で有効な、同じ式のピュイズー級数近似を求めます。次に、展開点の右側の小さい区間で有効な近似を求めます。

syms x
series(sin(sqrt(-x)), x)
series(sin(sqrt(-x)), x, 'Direction', 'left')
series(sin(sqrt(-x)), x, 'Direction', 'right')
ans =
(-x)^(1/2) - (-x)^(3/2)/6 + (-x)^(5/2)/120
 
ans =
- x^(1/2)*1i - (x^(3/2)*1i)/6 - (x^(5/2)*1i)/120
 
ans =
x^(1/2)*1i + (x^(3/2)*1i)/6 + (x^(5/2)*1i)/120

こちらの式のピュイズー級数近似を計算してみます。既定では、series は、展開点の周りの複素平面において有効な近似を求めます。この式では、そのような近似が存在しません。

series(real(sin(x)), x)
Error using sym/series>scalarSeries (line 90)
Unable to compute series expansion.

しかし、近似は実数軸 x = 0 の両側に沿って存在します。

series(real(sin(x)), x, 'Direction', 'realAxis')
ans =
x^5/120 - x^3/6 + x

入力引数

すべて折りたたむ

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

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

展開点。数値あるいはシンボリック数、変数、関数または式として指定します。展開点は展開変数では変更できません。

また、展開点は Name,Value のペア引数として指定することもできます。展開点を両方の方法で指定する場合、Name,Value ペア引数が優先されます。

名前と値のペアの引数

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

例: series(psi(x),x,'ExpansionPoint',Inf,'Order',9)

展開点。数値あるいはシンボリック数、変数、関数または式として指定します。展開点は展開変数では変更できません。

また、展開点は入力引数 a を使用して指定することもできます。展開点を両方の方法で指定する場合、Name,Value ペア引数が優先されます。

ピュイズー級数展開の打ち切り階数。正の整数またはシンボリックな正の整数として指定します。

series は、階数 n - 1 でピュイズー級数近似を計算します。打ち切り階数 n は、O 項 O(varn) の指数です。

ピュイズー級数展開の収束領域の方向。以下のように指定します。

'left'展開点の左側の小さい区間で有効なピュイズー級数近似を求めます。
'right'展開点の右側の小さい区間で有効なピュイズー級数近似を求めます。
'realAxis'展開点の両側の小さい区間で有効なピュイズー級数近似を求めます。
'complexPlane'展開点の周りの複素平面における小さな開円盤で有効なピュイズー級数近似を求めます。これは既定値です。

ヒント

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

参考

|

R2015b で導入