ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

series

構文

  • series(f,var)
  • series(f,var,a)
  • series(___,Name,Value)

説明

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 =
x/2 + 1/x + x^2/6 + x^3/24 + x^4/120 + 1

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

s7 = series(f, x, 'Order', 7)
s8 = series(f, x, 'Order', 8)
s7 =
x/2 + 1/x + x^2/6 + x^3/24 + x^4/120 + x^5/720 + 1
 
s8 =
x/2 + 1/x + x^2/6 + x^3/24 + x^4/120 + x^5/720 + x^6/5040 + 1

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

fplot(s6)
hold on
fplot(s7)
fplot(s8)
fplot(f)

xlim([-5 5])

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')
hold off

展開の方向の指定

引数 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)
Cannot compute a series expansion of the input.

しかし、近似は実数軸 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 で導入

この情報は役に立ちましたか?