MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Plotting a phase boundary

  • To: mathgroup at
  • Subject: [mg61327] Re: [mg61283] Plotting a phase boundary
  • From: "David Annetts" <davidannetts at>
  • Date: Fri, 14 Oct 2005 22:23:52 -0400 (EDT)
  • Sender: owner-wri-mathgroup at

Hi James,

> I have a series of Table objects, each consisting of a 100 x 
> 100 matrix divided into a region of 1's and 0's. For an 
> example file see
> Then try
> pts = Import["DATA.CSV"];
> ListContourPlot[pts];
> (Actually, this matrix should be inverted)
> My goal is to find the boundary between the 1's and 0's, or 
> an approxmimation to it, and plot all of the boundaries (for 
> each of the
> matrices) together in a 3-dimensional surface plot so as to 
> obtain a surface.  The surface will then correspond to the 
> "phase transition"
> between, say 0 (inside the surface) and 1 (outside the 
> surface). I think I might be asking too much. I would like to 
> know if it is possible for a relatively inexperienced user of 
> Mathematica to achieve this.

A very naive approach might be to use an edge detector to look for the
boundary.  The following is adapted from the online help (Section 3.8.5).

pts = Import["c:/Tmpfiles/Downloads/Data.csv"];
pplt = ListPlot3D[pts];
tmp = ListConvolve[{{1, 1, 1}, {1, -8, 1}, {1, 1 , 1}}, pts];
tplt = ListPlot3D[tmp];



  • Prev by Date: surface fitting question
  • Next by Date: Re: NMinimize ignores constraints and crashes
  • Previous by thread: Plotting a phase boundary
  • Next by thread: Re: Plotting a phase boundary