ellipj

Эллиптические функции Якоби

Описание

пример

[SN,CN,DN] = ellipj(U,M) возвращает эллиптические функции Якоби SN, CN, и DN оценивается для соответствующих элементов аргумента U и M параметров. Входные параметры U и M должен быть того же размера, или U или M должно быть скалярным.

пример

[SN,CN,DN] = ellipj(U,M,tol) вычисляет эллиптические функции Якоби до точности tol. Значение по умолчанию tol является eps. Увеличение tol для менее точного, но более быстрого вычисленного ответа.

Примеры

свернуть все

Найдите эллиптические функции Якоби для U = 0.5 и M = 0.25.

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

Постройте график эллиптических функций Якоби для -5≤U≤5 и M = 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. The axes with title Jacobi Elliptic Functions sn,cn,dn contains 3 objects of type line. These objects represent SN, CN, DN.

Сгенерируйте объемную поверхностную диаграмму функции Jacobi elliptic sn для допустимой области значений M и -5≤U≤5.

[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. The axes with title Surface Plot of Jacobi Elliptic Function sn contains an object of type surface.

Значение по умолчанию tol является eps. Найдите запуск время со значением по умолчанию для произвольных M использование tic и toc. Увеличение tol в 1000 раз и найти время запуска. Сравните запуск раз.

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

ellipj выполняется значительно быстрее, когда допуск значительно увеличивается.

Входные параметры

свернуть все

Входной массив, заданный как скалярный, векторный, матричный или многомерный массив. U ограничивается реальными значениями. Если U является нескалярным, M должен быть скаляром или нескаляром того же размера, что и U.

Типы данных: single | double

Входной массив, заданный как скалярный, векторный, матричный или многомерный массив. M может принимать значения 0≤ m ≤ 1. Если M является нескаляром, U должен быть скаляром или нескаляром того же размера, что и M. Сопоставьте другие значения M в эту область значений с помощью преобразований, описанных в [1], уравнения 16.10 и 16.11.

Типы данных: single | double

Точность результата, заданная как неотрицательное вещественное число. Значение по умолчанию является eps.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Эллиптическая функция Якоби sn, возвращенная в виде скаляра, вектора, матрицы или многомерного массива.

Эллиптическая функция Jacobi cn, возвращенная в виде скаляра, вектора, матрицы или многомерного массива.

Эллиптическая функция Jacobi 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
Для просмотра документации необходимо авторизоваться на сайте