How can I compute Jacobi Elliptic Functions in Matlab where the modulus is > 1?

4 vues (au cours des 30 derniers jours)
I'm interested in computing the elliptic function cd(u|m) where cd(u|m) = cn(u|m) / dn(u|m). I can compute both cn and dn using the built in function "ellipj" in Matlab, however it doesn't work when m > 1.
Suggestions?
Thanks,
Mark

Réponse acceptée

Karan Gill
Karan Gill le 29 Sep 2017
Modifié(e) : Karan Gill le 17 Oct 2017
Starting R2017b, all Jacobi Elliptic functions in MATLAB with Symbolic Math Toolbox. Example:
>> jacobiCD(1,3)
ans =
535.8838
  • jacobiAM for Jacobi amplitude function
  • jacobiCD for Jacobi CD elliptic function
  • jacobiCN for Jacobi CN elliptic function
  • jacobiCS for Jacobi CS elliptic function
  • jacobiDC for Jacobi DC elliptic function
  • jacobiDN for Jacobi DN elliptic function
  • jacobiDS for Jacobi DS elliptic function
  • jacobiNC for Jacobi NC elliptic function
  • jacobiND for Jacobi ND elliptic function
  • jacobiNS for Jacobi NS elliptic function
  • jacobiSC for Jacobi SC elliptic function
  • jacobiSD for Jacobi SD elliptic function
  • jacobiSN for Jacobi SN elliptic function
  • jacobiZeta for Jacobi zeta function

Plus de réponses (1)

Matt Fig
Matt Fig le 20 Sep 2012
Modifié(e) : Matt Fig le 20 Sep 2012
Use (for m>1):
sn(u,m) = sqrt(1/m)*sn(u*sqrt(m),1/m)
cn(u,m) = dn(u*sqrt(m),1/m)
dn(u,m) = cn(u*sqrt(m),1/m)
  1 commentaire
Mark
Mark le 21 Sep 2012
Fantastic! I'm relieved to see that it is this simple! Thanks for the help Matt.
Mark

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by