0

Suppose I have a continuous function $f:\mathbb{R}^2 \rightarrow \mathbb{R}$ and I want to numerically find the curve(s) of points $$ f(x, y) =0 $$ By finding I mean constructing an array of coordinates that represent the curve. Are there any well established numerical methods for doing this? Does MatLab have a built in function for solving this problem? I would appreciate either details of a numerical method or explanation of how to do this in MatLab as answers.

My current approach is to split my domain into rectangular elements and find an interpolated bilinears root curves. However, this produces one root curve per element, meaning the curves are fragmented and contain a vast excess of points. My algorithm works, but plotting the result produces a figure that MatLab cannot handle.

Eddy
  • 1,139
  • 7
  • 12

1 Answers1

0

If by numerically "finding" the curve you mean plotting it (or finding a sequence of segments that, when plotted, approximate the curve), this is what implicit-function plotting software such as Maple's "implicitplot" do. The basic strategy is to start by evaluating $f$ on a grid of points and detecting when the values at vertices of a unit cell have different signs, then interpolating within that cell. But there are lots of things you can do to improve results. For example, some of them are mentioned on the Maple help page for implicitplot.

Robert Israel
  • 448,999