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

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

 Akzeptierte Antwort

Karan Gill
Karan Gill am 29 Sep. 2017
Bearbeitet: Karan Gill am 17 Okt. 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

Weitere Antworten (1)

Matt Fig
Matt Fig am 20 Sep. 2012
Bearbeitet: Matt Fig am 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 Kommentar

Fantastic! I'm relieved to see that it is this simple! Thanks for the help Matt.
Mark

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 20 Sep. 2012

Bearbeitet:

am 17 Okt. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by