正在加载图片...
268 Chapter 6.Special Functions The Legendre elliptic integral of the 2nd kind and the complete elliptic integral of the 2nd kind are given by E(o,k)V1-k2sin20 d0 sin oRr(cos2 ,1-k2 sin2 o,1) (6.11.20) -k2sin3oRp(cos2,1-k2 sin2 1) E(k)≡E(π/2,k)=RF(0,1-k2,1)-k2RD(0,1-k2,1) Finally,the Legendre elliptic integral of the 3rd kind is d Π(,n,k)≡ Jo (1+nsin20)V1-k2 sin20 from NUMERICAL RECIPESI 18881892 sin oRF(cos2,1-k2 sin2,1) (6.11.21) (Nort server 令 -in sin3 oRJ(cos2,1-k2 sin2 0,1,1+nsin2o) America Press. THE (Note that this sign convention for n is opposite that of Abramowitz and Stegun [121, ART and that their sina is our k. Progra #include <math.h> #include "nrutil.h" float ellf(float phi,float ak) Legendre elliptic integral of the 1st kind F(,k),evaluated using Carlson's function Rp.The argument ranges are0≤中≤r/2,0≤ksinφ≤1. float rf(float x,float y,float z); OF SCIENTIFIC COMPUTING(ISBN float s; s=sin(phi); return s*rf(SQR(cos(phi)),(1.0-s*ak)*(1.0+s*ak),1.0); v@cambri 1988-1992 by Numerical Recipes 10-521 43108-5 #include <math.h> #include "nrutil.h" float elle(float phi,float ak) (outside North Software. Legendre elliptic integral of the 2nd kind E(,)evaluated using Carlson's functions Rp and Rp.The argument ranges are0≤φ≤π/2,0≤ksin≤1. float rd(float x,float y,float z); float rf(float x,float y,float z); float cc,q,s; s=sin(phi); cc=SQR(cos(phi)); q=(1.0-s*ak)*(1.0+s*ak); return s*(rf(cc,q,1.0)-(SQR(s*ak))*rd(cc,q,1.0)/3.0);268 Chapter 6. Special Functions Permission is granted for internet users to make one paper copy for their own personal use. Further reproduction, or any copyin Copyright (C) 1988-1992 by Cambridge University Press. Programs Copyright (C) 1988-1992 by Numerical Recipes Software. Sample page from NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5) g of machine￾readable files (including this one) to any server computer, is strictly prohibited. To order Numerical Recipes books or CDROMs, visit website http://www.nr.com or call 1-800-872-7423 (North America only), or send email to directcustserv@cambridge.org (outside North America). The Legendre elliptic integral of the 2nd kind and the complete elliptic integral of the 2nd kind are given by E(φ, k) ≡  φ 0 1 − k2 sin2 θ dθ = sin φRF (cos2 φ, 1 − k2 sin2 φ, 1) − 1 3 k2 sin3 φRD(cos2 φ, 1 − k2 sin2 φ, 1) E(k) ≡ E(π/2, k) = RF (0, 1 − k2, 1) − 1 3 k2RD(0, 1 − k2, 1) (6.11.20) Finally, the Legendre elliptic integral of the 3rd kind is Π(φ, n, k) ≡  φ 0 dθ (1 + n sin2 θ) 1 − k2 sin2 θ = sin φRF (cos2 φ, 1 − k2 sin2 φ, 1) − 1 3n sin3 φRJ (cos2 φ, 1 − k2 sin2 φ, 1, 1 + n sin2 φ) (6.11.21) (Note that this sign convention for n is opposite that of Abramowitz and Stegun [12], and that their sinα is our k.) #include <math.h> #include "nrutil.h" float ellf(float phi, float ak) Legendre elliptic integral of the 1st kind F(φ, k), evaluated using Carlson’s function RF . The argument ranges are 0 ≤ φ ≤ π/2, 0 ≤ k sin φ ≤ 1. { float rf(float x, float y, float z); float s; s=sin(phi); return s*rf(SQR(cos(phi)),(1.0-s*ak)*(1.0+s*ak),1.0); } #include <math.h> #include "nrutil.h" float elle(float phi, float ak) Legendre elliptic integral of the 2nd kind E(φ, k), evaluated using Carlson’s functions RD and RF . The argument ranges are 0 ≤ φ ≤ π/2, 0 ≤ k sin φ ≤ 1. { float rd(float x, float y, float z); float rf(float x, float y, float z); float cc,q,s; s=sin(phi); cc=SQR(cos(phi)); q=(1.0-s*ak)*(1.0+s*ak); return s*(rf(cc,q,1.0)-(SQR(s*ak))*rd(cc,q,1.0)/3.0); }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有