Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

harmonic

説明

harmonic(x) は、x調和関数を返します。整数値 x では、harmonic(x) は調和数を生成します。

調和数の生成

最初の 10 の調和数を生成します。

harmonic(sym(1:10))
ans =
[ 1, 3/2, 11/6, 25/12, 137/60, 49/20, 363/140, 761/280, 7129/2520, 7381/2520]

数値引数およびシンボリック引数に対する調和数

次の数値について調和数を求めます。これらはシンボリック オブジェクトではないため、結果は浮動小数点数となります。

harmonic([2 i 13/3])
ans =
   1.5000 + 0.0000i   0.6719 + 1.0767i   2.1545 + 0.0000i

数値をシンボリック オブジェクトに変換してシンボリックな調和数を求めます。

y = harmonic(sym([2 i 13/3]))
y =
[ 3/2, harmonic(1i), 8571/1820 - (pi*3^(1/2))/6 - (3*log(3))/2]

x の分母が 2、3、4、または 6 で、|x| < 500 の場合、結果は pi および log で表現されます。

vpa を使用して取得した結果を近似します。

vpa(y)
ans =
[ 1.5, 0.67186598552400983787839057280431...
 + 1.07667404746858117413405079475i,...
 2.1545225442213858782694336751358]

|x| > 1000 の場合は、harmonic はそのまま関数呼び出しを返します。vpa を使用して、強制的に harmonic に関数呼び出しを評価させます。

harmonic(sym(1001))
vpa(harmonic(sym(1001)))
ans =
harmonic(1001)
ans =
7.4864698615493459116575172053329

特別な値に対する調和関数

特別な数値について調和関数を求めます。

harmonic([0 1 -1 Inf -Inf])
ans =
     0     1   Inf   Inf   NaN

シンボリック関数に対する調和関数

シンボリック関数 f について調和関数を求めます。

syms f(x)
f(x) = exp(x) + tan(x);
y = harmonic(f)
y(x) =
harmonic(exp(x) + tan(x))

シンボリック ベクトルと行列の調和関数

ベクトル V および行列 M の要素について調和関数を求めます。

syms x
V = [x sin(x) 3*i];
M = [exp(i*x) 2; -6 Inf];
harmonic(V)
harmonic(M)
ans =
[ harmonic(x), harmonic(sin(x)), harmonic(3i)]
ans =
[ harmonic(exp(x*1i)), 3/2]
[                Inf, Inf]

調和関数のプロット

x = -5 から x = 5 まで調和関数をプロットします。

syms x
fplot(harmonic(x),[-5 5])
grid on

Figure contains an axes object. The axes object contains an object of type functionline.

調和関数の極限の微分と計算

関数 diff および limitharmonic を含む式を処理することができます。

harmonic(x^2+1) の式の 2 次導関数を求めます。

syms x
diff(harmonic(x^2+1),x,2)
ans =
2*psi(1, x^2 + 2) + 4*x^2*psi(2, x^2 + 2)

harmonic(x) の極限を求めます。x は無限大に近付き、(x+1)*harmonic(x) では x は -1に近づきます。

syms x
limit(harmonic(x),Inf)
limit((x+1)*harmonic(x),-1)
ans =
Inf
ans =
-1

調和関数のテイラー級数展開

taylor を使用して、調和関数をテイラー級数で展開します。

syms x
taylor(harmonic(x))
ans =
(pi^6*x^5)/945 - zeta(5)*x^4 + (pi^4*x^3)/90...
 - zeta(3)*x^2 + (pi^2*x)/6

調和関数の展開

expand を使用して、調和関数を展開します。

syms x
expand(harmonic(2*x+3))
ans =
harmonic(x + 1/2)/2 + log(2) + harmonic(x)/2 - 1/(2*(x + 1/2))...
 + 1/(2*x + 1) + 1/(2*x + 2) + 1/(2*x + 3)
 

入力引数

すべて折りたたむ

数値、ベクトル、行列または多次元配列、あるいはシンボリック変数、シンボリック式、シンボリック関数、シンボリック ベクトル、シンボリック行列、またはシンボリック多次元配列で指定される入力。

詳細

すべて折りたたむ

調和関数

x の調和関数は、次のように定義します。

harmonic(x)=Σk=1x1k

また、次のように定義します。

harmonic(x)=Ψ(x+1)+γ

ここで Ψ(x) はポリガンマ関数で、γ はオイラー・マスケローニ定数です。

アルゴリズム

調和関数は、負の整数 -1, -2,... を除く特異性があるすべての複素数引数 z に定義されます。

x に分母 1、2、3、4 または 6 がある場合は、明示的な結果が計算され返されます。その他の有理数では、harmonic は関数方程式 harmonic(x+1)=harmonic(x)+1x を使用し、引数 x を指定して区間 [0, 1] から結果を取得します。

expand は、方程式 harmonic(x+1)=harmonic(x)+1xharmonic(x)=harmonic(x)1x+πcot(πx) および k を整数とする harmonic(kx) のガウスの乗算公式を使用して harmonic を展開します。

harmonic は、以下の明示的な式を実装します。

harmonic(12)=2ln(2)

harmonic(23)=32ln(3)36π

harmonic(13)=32ln(3)+36π

harmonic(34)=3ln(2)π2

harmonic(14)=3ln(2)+π2

harmonic(56)=2ln(2)32ln(3)32π

harmonic(16)=2ln(2)32ln(3)+32π

harmonic(0)=0

harmonic(12)=22ln(2)

harmonic(13)=332ln(3)36π

harmonic(23)=3232ln(3)+36π

harmonic(14)=43ln(2)π2

harmonic(34)=433ln(2)+π2

harmonic(16)=62ln(2)32ln(3)32π

harmonic(56)=652ln(2)32ln(3)+32π

harmonic(1)=1

harmonic()=

harmonic()=NaN

バージョン履歴

R2014a で導入