No BSD License
-
crrect(w,beta,cr,aff,Q,betar)
CRRECT Graphically create a rectified map.
-
drawpoly(fig,cmd)
DRAWPOLY Draw a polygon with the mouse.
-
modpoly(w,beta)
MODPOLY Modify a polygon.
-
polyedit(varargin)
POLYEDIT Polygon editor.
-
scgui(varargin)
SCGUI Create graphical user interface for the SC Toolbox.
-
scselect(w,beta,m,titl,msg)
SCSELECT Select one or more vertices in a polygon.
-
craffine(w,beta,cr,Q,tol)
CRAFFINE Affine transformations for crossratio formulation.
-
crcdt(w,edge,triedge,edgetri)
CRCDT Constrained Delaunay triangulation of a polygon.
-
crderiv(zp,beta,cr,aff,wcfix,...
CRDERIV Derivative of the disk map in crossratio formulation.
-
crembed(cr,Q,qnum)
CREMBED Embed prevertices for given crossratios.
-
crfixwc(w,beta,cr,aff,Q,wc)
CRFIXWC Fix conformal center in crossratio formulation.
-
crgather(u,uquad,quadnum,cr,Q...
CRGATHER Convert points into a single embedding in CR formulation.
-
crimap0(wp,z,beta,aff,qdat,op...
CRIMAP0 Single-embedding inverse map in crossratio formulation.
-
crinvmap(wp,w,beta,cr,aff,wcf...
CRINVMAP S-C disk inverse map in crossratio formulation.
-
crmap(zp,w,beta,cr,aff,wcfix,...
CRMAP Schwarz-Christoffel disk map in crossratio formulation.
-
crmap0(zp,z,beta,aff,qdat)
CRMAP Single-embedding map in crossratio formulation.
-
crossrat(w,Q)
CROSSRAT Crossratios of a triangulated polygon.
-
crparam(w,beta,cr0,options)
CRPARAM Crossratio parameter problem.
-
crplot(w,beta,cr,aff,wcfix,Q,...
CRPLOT Image of polar grid under disk map in crossratio form.
-
crqgraph(w,edge,triedge,edget...
CRQGRAPH Quadrilateral graph of a triangulation.
-
crquad(z1,sing1,z,beta,qdat)
CRQUAD (not intended for calling directly by the user)
-
crrderiv(zp,w,beta,wr,betar,c...
CRRDERIV Derivative of the crossratio rectified map.
-
crrmap(zp,w,beta,wr,betar,cr,...
CRRMAP Schwarz-Christoffel rectified map in crossratio formulation.
-
crrplot(w,beta,wr,betar,cr,af...
CRRPLOT Image of cartesian grid under Schwarz-Christoffel rectified map.
-
crsplit(w)
CRSPLIT Split polygon edges to ensure good crossratios.
-
crspread(u,quadnum,cr,Q)
CRSPREAD Transform points to every embedding in CR formulation.
-
crtriang(w)
CRTRIANG Triangulate a polygon.
-
dderiv(zp,z,beta,c)
DDERIV Derivative of the disk map.
-
ddisp(w,beta,z,c)
DDISP Display results of Schwarz-Christoffel disk parameter problem.
-
dederiv(zp,z,beta,c)
DEDERIV Derivative of the exterior map.
-
dedisp(w,beta,z,c)
DEDISP Display results of Schwarz-Christoffel exterior parameter problem.
-
deimapfun(wp,yp,flag,scale,z,...
Used by DEINVMAP for solution of an ODE.
-
deinvmap(wp,w,beta,z,c,qdat,z...
DEINVMAP Schwarz-Christoffel exterior inverse map.
-
demap(zp,w,beta,z,c,qdat)
DEMAP Schwarz-Christoffel exterior map.
-
deparam(w,beta,z0,options)
DEPARAM Schwarz-Christoffel exterior parameter problem.
-
deplot(w,beta,z,c,R,theta,opt...
DEPLOT Image of polar grid under Schwarz-Christoffel exterior map.
-
dequad(z1,z2,sing1,z,beta,qda...
DEQUAD (not intended for calling directly by the user)
-
dfixwc(w,beta,z,c,wc,tol)
DFIXWC Fix conformal center of disk map.
-
dimapfun(wp,yp,flag,scale,z,b...
Used by DINVMAP for solution of an ODE.
-
dinvmap(wp,w,beta,z,c,qdat,z0...
DINVMAP Schwarz-Christoffel disk inverse map.
-
disk2hp(w,beta,z,c)
DISK2HP Convert solution from the disk to one from the half-plane.
-
dmap(zp,w,beta,z,c,qdat)
DMAP Schwarz-Christoffel disk map.
-
dparam(w,beta,z0,options);
DPARAM Schwarz-Christoffel disk parameter problem.
-
dplot(w,beta,z,c,R,theta,opti...
DPLOT Image of polar grid under Schwarz-Christoffel disk map.
-
dquad(z1,z2,sing1,z,beta,qdat...
DQUAD: Numerical quadrature for the disk map.
-
ellipjc(u,L,flag)
ELLIPJC Jacobi elliptic functions for complex argument.
-
ellipkkp(L)
ELLIPKKP Complete elliptic integral of the first kind, with complement.
-
faber(M,m)
FABER Faber polynomial coefficients for polygonal regions.
-
hp2disk(w,beta,z,c)
HP2DISK Convert solution from the half-plane to one from the disk.
-
hpderiv(zp,z,beta,c)
HPDERIV Derivative of the half-plane map.
-
hpdisp(w,beta,z,c)
HPDISP Display results of Schwarz-Christoffel half-plane parameter problem.
-
hpimapfun(wp,yp,flag,scale,z,...
Used by HPINVMAP for solution of an ODE.
-
hpinvmap(wp,w,beta,z,c,qdat,z...
HPINVMAP Schwarz-Christoffel half-plane inverse map.
-
hpmap(zp,w,beta,z,c,qdat)
HPMAP Schwarz-Christoffel half-plane map.
-
hpparam(w,beta,z0,options);
HPPARAM Schwarz-Christoffel half-plane parameter problem.
-
hpplot(w,beta,z,c,re,im,optio...
HPPLOT Image of cartesian grid under Schwarz-Christoffel half-plane map.
-
hpquad(z1,z2,varargin)
HPQUAD (not intended for calling directly by the user)
-
isinpoly(z,w,beta,tol)
ISINPOLY Identify points inside a polygon.
-
lapsolve(p,bdata)
LAPSOLVE Solve Laplace's equation on a polygon.
-
lapsolvegui(varargin)
LAPSOLVEGUI GUI implemtentation for lapsolvegui.fig.
-
moebius(z,w)
MOEBIUS Moebius transformation parameters.
-
plotpoly(w,beta,number)
PLOTPOLY Plot a (generalized) polygon.
-
plotptri(w,Q,lab)
PLOTPTRI Plot a polygon triangulation.
-
ptsource(w,beta,z,c,ws,R,thet...
PTSOURCE Field due to point source in a polygon.
-
r2strip(zp,z,L)
R2STRIP Map from rectangle to strip.
-
rcorners(w,beta,z)
RCORNERS (not intended for calling directly by the user)
-
rderiv(zp,z,beta,c,L,zs)
RDERIV Derivative of the rectangle map.
-
rdisp(w,beta,z,c,L)
RDISP Display results of Schwarz-Christoffel rectangle parameter problem.
-
rimapfun(wp,yp,flag,scale,z,b...
Used by RINVMAP for solution of an ODE.
-
rinvmap(wp,w,beta,z,c,L,qdat,...
RINVMAP Schwarz-Christoffel rectangle inverse map.
-
rmap(zp,w,beta,z,c,L,qdat)
RMAP Schwarz-Christoffel rectangle map.
-
rparam(w,beta,cnr,z0,options)...
RPARAM Schwarz-Christoffel rectangle parameter problem.
-
rplot(w,beta,z,c,L,re,im,opti...
RPLOT Image of cartesian grid under Schwarz-Christoffel rectangle map.
-
rsderiv(zp,z,beta,zb,c)
RSDERIV Derivative of the Riemann surface map.
-
rsmap(zp,w,beta,z,zb,c,qdat)
RSMAP Schwarz-Christoffel Riemann surface map.
-
rsparam(w,beta,branch,z0,opti...
RSPARAM Schwarz-Christoffel Riemann surface parameter problem.
-
rsplot(w,beta,z,zb,c,R,theta,...
RSPLOT Image of polar grid under Schwarz-Christoffel RS map.
-
rsquad(z1,z2,varargin)
RSQUAD (not intended for calling directly by the user)
-
scaddvtx(w,beta,pos,window)
SCADDVTX Add a vertex to a polygon.
-
scangle(w)
SCANGLE Turning angles of a polygon.
-
sccheck(type,w,beta,aux)
SCCHECK Check polygon inputs to Schwarz-Christoffel functions.
-
scdemo
SCDEMO Demonstrate the Schwarz-Christoffel Toolbox.
-
scfix(type,w,beta,aux)
SCFIX Fix polygon to meet Schwarz-Christoffel toolbox constraints.
-
scgexprt(data)
Export data to base workspace.
-
scgimprt(data)
Import data from base workspace.
-
scinvopt(options)
SCINVOPT Parameters used by S-C inverse-mapping routines.
-
scmapopt(varargin)
SCMAPOPT Set options for SC maps.
-
scparopt(varargin)
SCPAROPT is defunct. Use SCMAPOPT instead.
-
scpltopt(options)
SCPLTOPT Parameters used by S-C plotting routines.
-
scqdata(beta,nqpts);
SCQDATA Gauss-Jacobi quadrature data for SC Toolbox.
-
slide=scdfaber
This is a slideshow file for use with playshow.m and makeshow.m
-
slide=scdinf
This is a slideshow file for use with playshow.m and makeshow.m
-
slide=scdlong
This is a slideshow file for use with playshow.m and makeshow.m
-
slide=scdtutor
This is a slideshow file for use with playshow.m and makeshow.m
-
stderiv(zp,z,beta,c,j)
STDERIV Derivative of the strip map.
-
stdisp(w,beta,z,c)
STDISP Display results of Schwarz-Christoffel strip parameter problem.
-
stimapfun(wp,yp,flag,scale,z,...
Used by STINVMAP for solution of an ODE.
-
stinvmap(wp,w,beta,z,c,qdat,z...
STINVMAP Schwarz-Christoffel strip inverse map.
-
stmap(zp,w,beta,z,c,qdat)
STMAP Schwarz-Christoffel strip map.
-
stparam(w,beta,ends,z0,option...
STPARAM Schwarz-Christoffel strip parameter problem.
-
stplot(w,beta,z,c,re,im,optio...
STPLOT Image of cartesian grid under Schwarz-Christoffel strip map.
-
stquad(z1,z2,sing1,z,beta,qda...
STQUAD (not intended for calling directly by the user)
-
stquadh(z1,z2,sing1,z,beta,qd...
Copyright 1998 by Toby Driscoll.
-
composite(varargin)
COMPOSITE Form a composition of maps.
-
crdiskmap(poly,varargin)
CRDISKMAP Schwarz-Christoffel cross-ratio disk map object.
-
crrectmap(poly,varargin)
CRRECTMAP Schwarz-Christoffel cross-ratio disk map object.
-
diskmap(varargin)
DISKMAP Schwarz-Christoffel disk map object.
-
extermap(varargin)
EXTERMAP Schwarz-Christoffel exterior map object.
-
hplmap(varargin)
HPLMAP Schwarz-Christoffel half-plane map object.
-
moebius(varargin)
MOEBIUS Moebius transformation.
-
polygon(x,y,alpha)
POLYGON Contruct polygon object.
-
rectmap(poly,varargin)
RECTMAP Schwarz-Christoffel rectangle map object.
-
riesurfmap(varargin)
RIESURFMAP Schwarz-Christoffel map to Riemann surface.
-
scmap(poly,opt)
SCMAP Construct generic Schwarz-Christoffel map object.
-
scmapdiff(f)
SCMAPDIFF Derivative of a Schwarz-Christoffel map.
-
scmapinv(M)
SCMAPINV Inverse of a Schwarz-Christoffel map.
-
stripmap(poly,varargin)
STRIPMAP Schwarz-Christoffel strip map object.
-
Contents.m
-
View all files
from
Schwarz-Christoffel Toolbox
by Toby Driscoll
Computes conformal maps to polygons, allowing easy solution of Laplace's equation.
|
| ellipkkp(L)
|
function [K,Kp] = ellipkkp(L)
%ELLIPKKP Complete elliptic integral of the first kind, with complement.
% K = ELLIPKKP(L) returns the value of the complete elliptic
% integral of the first kind, evaluated at M=exp(-2*pi*L), 0 < L
% < Inf.
%
% [K,KP] = ELLIPKKP(L) also returns the result for complementary
% parameter 1-M, which is useful when M < EPS. Even when M <
% 1e-6, the built-in ELLIPKE can lose digits of accuracy for KP.
%
% Recall that the elliptic modulus k is related to the parameter
% M by M = k^2.
%
% Copyright (c)1999 by Toby Driscoll.
% $Id: ellipkkp.m 68 1999-06-11 10:30:30Z tad $
% ELLIPKKP uses the method of the arithmetic-geometric mean described
% in 17.6 of M. Abramowitz and I.A. Stegun, "Handbook of Mathematical
% Functions," Dover, 1965. Same method as in ELLIPKE, only
% interchanging 1 and 1-m to find KP.
% When m=exp(-2*pi*L) is extremely small, use O(m) approximations.
if L > 10
K = pi/2;
Kp = pi*L + log(4);
return
end
m = exp(-2*pi*L);
a0 = 1;
b0 = sqrt(1-m);
s0 = m;
i1 = 0; mm = 1;
while mm > eps
a1 = (a0+b0)/2;
b1 = sqrt(a0.*b0);
c1 = (a0-b0)/2;
i1 = i1 + 1;
w1 = 2^i1*c1.^2;
mm = max(max(w1));
s0 = s0 + w1;
a0 = a1;
b0 = b1;
end
K = pi./(2*a1);
im = find(m==1);
if ~isempty(im)
K(im) = K(im)*inf;
end
if nargout > 1
a0 = 1;
b0 = sqrt(m);
s0 = 1-m;
i1 = 0; mm = 1;
while mm > eps
a1 = (a0+b0)/2;
b1 = sqrt(a0.*b0);
c1 = (a0-b0)/2;
i1 = i1 + 1;
w1 = 2^i1*c1.^2;
mm = max(max(w1));
s0 = s0 + w1;
a0 = a1;
b0 = b1;
end
Kp = pi./(2*a1);
im = find(m==0);
if ~isempty(im)
Kp(im) = Kp(im)*inf;
end
end
|
|
Contact us at files@mathworks.com