Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

ellipj

雅可比椭圆函数

说明

示例

[SN,CN,DN] = ellipj(U,M) 返回雅可比椭圆函数 SNCNDN,针对实参 U 和形参 M 的相应元素对这些函数求解。输入 UM 的大小必须相同,或者 UM 必须为标量。

示例

[SN,CN,DN] = ellipj(U,M,tol)tol 精度计算雅可比椭圆函数。tol 的默认值是 eps。增加 tol 会降低精度,但计算答案的速度会更快。

示例

全部折叠

U = 0.5M = 0.25 的雅可比椭圆函数。

[s,c,d] = ellipj(0.5,0.25)
s = 0.4751
c = 0.8799
d = 0.9714

绘制 -5≤U≤5M = 0.7 的雅可比椭圆函数。

M = 0.7;
U = -5:0.01:5;
[S,C,D] = ellipj(U,M);
plot(U,S,U,C,U,D);
legend('SN','CN','DN','Location','best')
grid on
title('Jacobi Elliptic Functions sn,cn,dn')

Figure contains an axes object. The axes object with title Jacobi Elliptic Functions sn,cn,dn contains 3 objects of type line. These objects represent SN, CN, DN.

M 的允许范围内和 -5≤U≤5 内生成雅可比椭圆函数 sn 的曲面图。

[M,U] = meshgrid(0:0.1:1,-5:0.1:5);
S = ellipj(U,M);
surf(U,M,S)
xlabel('U')
ylabel('M')
zlabel('sn')
title('Surface Plot of Jacobi Elliptic Function sn')

Figure contains an axes object. The axes object with title Surface Plot of Jacobi Elliptic Function sn, xlabel U, ylabel M contains an object of type surface.

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

tic
ellipj(0.253,0.937)
ans = 0.2479
toc
Elapsed time is 0.043598 seconds.
tic
ellipj(0.253,0.937,eps*1000)
ans = 0.2479
toc
Elapsed time is 0.007314 seconds.

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

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵或多维数组。U 仅限于实数值。如果 U 是非标量,M 必须是大小与 U 相同的标量或非标量。

数据类型: single | double

输入数组,指定为标量、向量、矩阵或多维数组。M 可取值 0≤ m ≤1。如果 M 是非标量,U 必须是大小与 M 相同的标量或非标量。使用 [1] 中方程 16.10 和 16.11 所述的转换将 M 的其他值映射到该范围。

数据类型: single | double

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

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

输出参数

全部折叠

雅可比椭圆函数 sn,以标量、向量、矩阵或多维数组形式返回。

雅可比椭圆函数 cn,以标量、向量、矩阵或多维数组形式返回。

雅可比椭圆函数 dn,以标量、向量、矩阵或多维数组形式返回。

详细信息

全部折叠

雅可比椭圆函数

雅可比椭圆函数是从积分角度定义的

u=0ϕdθ1msin2θ.

然后,

sn(u)=sinϕ, cn(u)=cosϕ, dn(u)=1msin2ϕ.

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

k2=m=sin2a.

雅可比椭圆函数遵守许多数学恒等式。要查看恰当的示例,请参阅 [1]

算法

ellipj 使用 [1] 中介绍的算术几何均值方法计算雅可比椭圆函数。首先定义三元组

a0=1, b0=1m, c0=m.

ellipj 使用以下公式计算连续迭代

ai=12(ai1+bi1)bi=(ai1bi1)12ci=12(ai1bi1).

然后,它使用以下公式计算振幅(以弧度为单位)

sin(2ϕn1ϕn)=cnansin(ϕn),

请注意正确展开相位。然后,雅可比椭圆函数则可表示为

sn(u)=sinϕ0cn(u)=cosϕ0dn(u)=1msn(u)2.

参考

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

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅