Main Content

ellipke

第 1 種と第 2 種の完全楕円積分

説明

K = ellipke(M) は、M の各要素の第 1 種完全楕円積分を返します。

[K,E] = ellipke(M) は、第 1 種と第 2 種の完全楕円積分を返します。

[K,E] = ellipke(M,tol) は、精度 tol で完全楕円積分を計算します。tol の既定値は eps です。tol を大きくすると計算精度は低くなりますが、より高速に計算が行われます。

すべて折りたたむ

M = 0.5 の第 1 種と第 2 種の完全楕円積分を計算します。

M = 0.5;
[K,E] = ellipke(M)
K = 
1.8541
E = 
1.3506

M の許容範囲に対して第 1 種と第 2 種の完全楕円積分をプロットします。

M = 0:0.01:1;
[K,E] = ellipke(M);
plot(M,K,M,E)
grid on
xlabel('M')
title('Complete Elliptic Integrals of First and Second Kind')
legend('First kind','Second kind')

Figure contains an axes object. The axes object with title Complete Elliptic Integrals of First and Second Kind, xlabel M contains 2 objects of type line. These objects represent First kind, Second kind.

tol の既定値は eps です。任意の M に対して既定値を用いた実行時間を tictoc を使用して取得します。tol を 1000 倍に増やして実行時間を取得します。実行時間を比較します。

tic
ellipke(0.904561)
ans = 
2.6001
toc
Elapsed time is 0.024028 seconds.
tic
ellipke(0.904561,eps*1000)
ans = 
2.6001
toc
Elapsed time is 0.004679 seconds.

許容誤差を大幅に増やすと、ellipke は非常に速く実行されます。

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または多次元配列として指定します。M0≤m≤1 の値に制限されます。

データ型: single | double

結果の精度。非負の実数として指定します。既定値は eps です。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力引数

すべて折りたたむ

第 1 種完全楕円積分。スカラー、ベクトル、行列または多次元配列として返されます。

第 2 種完全楕円積分。スカラー、ベクトル、行列または多次元配列として返されます。

詳細

すべて折りたたむ

第 1 種と第 2 種の完全楕円積分

第 1 種完全楕円積分は、以下の式で定義されます。

[K(m)]=01[(1t2)(1mt2)]12dt.

ここで、mellipke の最初の引数です。

第 2 種完全楕円積分は、次のようになります。

E(m)=01(1t2)12(1mt2)12dt.

いくつかの楕円関数の定義では、パラメーター m の代わりに楕円係数 k またはモジュラー角 α を使用します。次式のような関係があります。

k2=m=sin2α.

参照

[1] Abramowitz, M., and I. A. Stegun. Handbook of Mathematical Functions. Dover Publications, 1965.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考