Main Content

ellipke

第一类和第二类完全椭圆积分

说明

K = ellipke(M)M 中的每个元素返回第一类完全椭圆积分。

示例

[K,E] = ellipke(M) 返回第一类和第二类完全椭圆积分。

示例

[K,E] = ellipke(M,tol) 以精度 tol 计算完全椭圆积分。tol 的默认值是 eps。增加 tol 会降低精度,但计算答案的速度会更快。

示例

全部折叠

计算 M = 0.5 的第一类和第二类完全椭圆积分。

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

基于 M 的允许范围绘制第一类和第二类完全椭圆积分。

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 contains 2 objects of type line. These objects represent First kind, Second kind.

tol 的默认值是 eps。使用 tictoc 求任意 M 为默认值时的运行时间。按因子 1000 增加 tol 并计算运行时间。比较运行时间。

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

容差明显增加时,ellipke 的运行速度明显加快。

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵或多维数组。M 仅限于值 0≤m≤1

数据类型: single | double

结果的精度,指定为非负实数。默认值为 eps

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参数

全部折叠

第一类完全椭圆积分,以标量、向量、矩阵或多维数组形式返回。

第二类完全椭圆积分,以标量、向量、矩阵或多维数组形式返回。

详细信息

全部折叠

第一类和第二类完全椭圆积分

第一类完全椭圆积分是

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

其中,m 是 ellipke 的第一个参数。

第二类完全椭圆积分是

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

有些椭圆函数的定义使用椭圆模数 k 或模角 α,而不使用参数 m。它们的关系如下

k2=m=sin2α.

参考

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

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

另请参阅