File Exchange

image thumbnail


version (18.8 MB) by milan batista
elfun18 is a set of functions that enable computation of various elliptic integrals and functions.


Updated 22 Oct 2020

View Version History

View License

elfun18 is a collection of Matlab functions that enable the computation of wide set of Elliptic integrals, Jacobi's elliptic functions and Jacobi's theta functions for real arguments. The set has two levels: higher level functions with matrix arguments and low level functions with scalar arguments. Each function is available either with the modulus k or parameter m as argument. In later case the function name begin with m. Incomplete elliptic integrals are given in Jacobi form, Legendre form and Jacobi's second form (Epsilon function and Lambda functions).
List of functions:
Elliptic integrals:
- Bulirsch's elliptic integrals: cel, cel1, cel2, cel3, el1, el2, el3
- Carlson's elliptic integrals: rc, rd, rf, rg, rj
- Complete elliptic integrals: B, C, D, K, E, Pi
- Complementary complete elliptic integrals: K', E', Pi'
- Jacobi form of elliptic integrals: B, D, E, F, Pi
- Legendre form of elliptic integrals: B, D, E, F, Pi
- Jacobi second form of elliptic integrals: Epsilon, Zeta ( periodic part of Eps) Lambda ( elip. int. of 3rd kind), Omega
function ( periodic part of Lambda)
Jacobian elliptic functions
- am, cd, cn, cs, dc, dn, ds, nc, nd, ns, sc, sd, sn

Inverse Jacobian elliptic functions
- invam, invcd, invcn, invcs, invdc, invdn, invds, invnc, invnd, invns, invsc, invsd, invsn

Jacobi Theta Functions
- theta1, thet12, theta3, theta4, nome, modulus
Neville theta functions
-nthetac, nthetad, nthetan, nthetas
Misc. functions
- agm ( arithmetic geometric mean), cl (lemniscate cos), sl, (lemniscate sin), invcl (inverse lemniscate cos), invsl (inverse lemniscate sin), Lambda0 (Heuman's function) gd (Gudermannian function), invgd (inverse Gudermannian function)

Cite As

milan batista (2021). elfun18 (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (8)

Guzman Borque Gallego

J. Alex Lee

Nevermind, I found your arxiv article that explained that I'm looking for mpEllipticE. Thanks!

J. Alex Lee

What is the relationship between mEllipticE(u,m) and Matlab's symbolic toolbox's ellipticE? Thanks!

Karsten Kuhlmann

milan batista

jacobiCN(x,m) use m as the parameter while JacobiCN(x,k) use elliptic modulus k as the parameter. So you should use mJacobiCN(x,m). Then you will obtain the same results as by jacobiCN . For example mJacobiCN(2,0.5)=-0.103183615527762 and jacobiCN(2,0.5) = -0.103183615527762

zhangping zhang

Could you tell me why the result from your function is different from the result from the matlab?
for example:JacobiCN and jacobiCN .
Thank you very much!

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!