Get from Ico-github-logo

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Schwarz-Christoffel Toolbox

  • drawpoly(fig,cmd)
    DRAWPOLY Draw a polygon with the mouse.
  • faber(M,m)
    FABER Faber polynomial coefficients for polygonal regions.
  • lapsolve(p,bdata)
    LAPSOLVE Solve Laplace's equation on a polygon.
  • lapsolvegui(varargin)
    LAPSOLVEGUI GUI implemtentation for lapsolvegui.fig.
  • modpoly(w,beta)
    MODPOLY Modify a polygon.
  • moebius(z,w)
    MOEBIUS Moebius transformation parameters.
  • plotpoly(w,beta,number)
    PLOTPOLY Plot a (generalized) polygon.
  • polyedit(varargin)
    POLYEDIT Polygon editor.
  • ptsource(w,beta,z,c,ws,R,...
    PTSOURCE Field due to point source in a polygon.
  • scdemo
    SCDEMO Demonstrate the Schwarz-Christoffel Toolbox.
  • scdfaber
    This is a slideshow file for use with playshow.m and makeshow.m
  • scdinf
    This is a slideshow file for use with playshow.m and makeshow.m
  • scdlong
    This is a slideshow file for use with playshow.m and makeshow.m
  • scdtutor
    This is a slideshow file for use with playshow.m and makeshow.m
  • scgexprt(data)
    Export data to base workspace.
  • scgimprt(data)
    Import data from base workspace.
  • scgui(varargin)
    SCGUI Create graphical user interface for the SC Toolbox.
  • sctool.dabsquad(z1,z2,sin...
    DABSQUAD (not intended for calling directly by the user)
  • sctool.gaussj(n,alf,bet)
    GAUSSJ Nodes and weights for Gauss-Jacobi integration.
  • sctool.isinpoly(z,w,beta,...
    ISINPOLY Identify points inside a polygon.
  • sctool.linspace(d1, d2, n)
    LINSPACE Linearly spaced vector.
  • sctool.nebroyuf(A,xc,xp,f...
  • sctool.nechdcmp(H,maxoffl)
  • sctool.neconest(M,M2)
    % This function is part of the Nonlinear Equations package, see NESOLVE.M.
  • sctool.nefdjac(fvec,fc,xc...
    % This function is part of the Nonlinear Equations package, see NESOLVE.M.
  • sctool.nefn(xplus,SF,fvec...
  • sctool.nehook(xc,fc,fn,g,...
  • sctool.neinck(x0,F0,din,s...
  • sctool.nelnsrch(xc,fc,fn,...
  • sctool.nemodel(fc,J,g,sf,...
  • sctool.neqrdcmp(M)
  • sctool.neqrsolv(M,M1,M2,b)
  • sctool.nersolv(M,M2,b)
  • sctool.nesolve(fvec,x0,de...
    FSOLVE Solution to a system of nonlinear equations.
  • sctool.nesolvei(fvec,x0,d...
    FSOLVEI Solution to nonlinear equations with no initial Jacobian.
  • sctool.nestop(xc,xp,F,Fno...
  • sctool.netrust(retcode,xp...
  • sctool.parseopt(options)
    Copyright 1998--2001 by Toby Driscoll.
  • sctool.plotptri(w,Q,lab)
    PLOTPTRI Plot a polygon triangulation.
  • sctool.runTests
  • sctool.scaddvtx(w,beta,po...
    SCADDVTX Add a vertex to a polygon.
  • sctool.scangle(w)
    SCANGLE Turning angles of a polygon.
  • sctool.sccheck(type,w,bet...
    SCCHECK Check polygon inputs to Schwarz-Christoffel functions.
  • sctool.scfix(type,w,beta,...
    SCFIX Fix polygon to meet Schwarz-Christoffel toolbox constraints.
  • sctool.scimapz0(prefix,wp...
    SCIMAPZ0 (not intended for calling directly by the user)
  • sctool.scimapz0(prefix,wp...
    SCIMAPZ0 (not intended for calling directly by the user)
  • sctool.scinvopt(options)
    SCINVOPT Parameters used by S-C inverse-mapping routines.
  • sctool.scmapopt(varargin)
    SCMAPOPT Set options for SC maps.
  • sctool.scpadapt(zp,wp,min...
    SCPADAPT (not intended for calling directly by the user)
  • sctool.scparopt(varargin)
    SCPAROPT is defunct. Use SCMAPOPT instead.
  • sctool.scpltopt(options)
    SCPLTOPT Parameters used by S-C plotting routines.
  • sctool.scqdata(beta,nqpts)
    SCQDATA Gauss-Jacobi quadrature data for SC Toolbox.
  • sctool.scselect(w,beta,m,...
    SCSELECT Select one or more vertices in a polygon.
  • sdogleg(fun,par, x0, opts...
    SDogLeg Secant version of Dog Leg method for nonlinear system of equations
  • composite.m
    COMPOSITE Form a composition of maps.
  • dscpolygons.m
    DSCPOLYGONS Construct doubly connected regions.
  • moebius.m
    MOEBIUS Moebius transformation.
  • polygon.m
    POLYGON Contruct polygon object.
  • annulusmap
  • crdiskmap
  • crrectmap
  • diskmap
  • extermap
  • hplmap
  • rectmap
  • riesurfmap
  • scmap
  • scmapdiff
  • scmapinv
  • stripmap
  • testAnnulus
  • testDisk
  • testExterior
  • testHalfplane
  • testRectangle
  • testStrip
  • Contents.m
    Schwarz-Christoffel Toolbox
  • dctests.m
    Tests of doubly-connected maps.
  • View all files
4.2 | 12 ratings Rate this file 17 Downloads (last 30 days) File Size: 420 KB File ID: #1316 Version: 1.1
image thumbnail

Schwarz-Christoffel Toolbox


Toby Driscoll (view profile)


12 Feb 2002 (Updated )

Computes conformal maps to polygons, allowing easy solution of Laplace's equation.

| Watch this File

File Information

The Schwarz-Christoffel transformation is a recipe for a conformal map to a region bounded by a polygon. They can be computed to very high accuracy in little time. These maps can make certain Laplace boundary value problems trivial to solve on such domains.
p = polygon([0 i -1+i -1-i 1-i 1]); % L-shaped region
f = diskmap(p); % find map
plot(f) % visualize it
phi = lapsolve(p,[1 nan 4 3 nan 2]); % solve a BVP
[t,x,y] = triangulate(p);
trisurf(t,x,y,phi(x+i*y)); % see it

MATLAB release MATLAB 7.4 (R2007a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (14)
20 Nov 2015 Sam Kim

12 Jul 2014 Boughrara kamel

there are not many documentation

14 Mar 2012 Samina Kosar


i am interested to draw like this in SC-Toolbox, can anyone help me in this regards, the example explained about is for bounded polygon, could you please describe the same map for my figer. please dont take it as dashes, its line two lines having angle 90 degree.

Comment only
03 Mar 2012 Anton Semechko

Anton Semechko (view profile)

This implementation saved me a bunch of time. Thanks a lot!

P.S. - Any one who needs documentation for this toolbox can find it on Toby's website (

05 Sep 2011 Charles Nelatury

19 Nov 2010 Ali A

Ali A (view profile)

22 May 2010 Izaak Beekman

Indispensable! Saved so much time using this rather than coding up everything in Fortran!

02 Feb 2009 Boughrara kamel

I have sent to you an example to the polygone where i have severe crowding. Could you give me answer and your opignon.

Comment only
26 Jan 2009 Boughrara kamel

I have used the toolbox and it is excellent.
I have some problems with crowding for some polygon.
I will send you the polygon where i have the problem.

08 Oct 2008 Al van Deursen

I used the software on many instances and found its results in excellent agreement with practical experiments. Wrote a few scientific papers using the results.
Documentation on Driscoll's personal webpage was more than sufficient for somebody with knowledge in basic calculus and Schwarz - Christoffel analysis.

26 Sep 2008 pepe sanchez


29 Apr 2007 lv dc

3x, i need test it first.

27 Oct 2004 Francisco Tejo

22 May 2003 Paolo Novati

29 May 2002

Minor bug fixes. No enhancements.

09 Dec 2002

Changes for compatability with MATLAB 6.5.

New routine for solving Laplace's equation.

09 May 2003

Changes for compatability with MATLAB 6.5.

New routine for solving Laplace's equation.

16 May 2007

Fixes an incompatibility (bug?) with matlab release 2007a.

05 Jan 2016 1.1

Now accessing the Github repository.

Contact us