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+1

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

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

x2+1x+x26+x324+x4120+x5720+1

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

x2+1x+x26+x324+x4120+x5720+x65040+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 object. The axes object 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 ペア引数が優先されます。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は関係ありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: 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 で導入

参考

|