Skip to Main Content Skip to Search
Product Documentation

ezcontour - Easy-to-use contour plotter

Example of ezcontour function output

Syntax

ezcontour(fun)
ezcontour(fun,domain)
ezcontour(...,n)
ezcontour(axes_handle,...)
h = ezcontour(...)

Description

ezcontour(fun) plots the contour lines of fun(x,y) using the contour function. fun is plotted over the default domain: -2π < x < 2π, -2π < y < 2π.

fun can be a function handle for a MATLAB file function or an anonymous function (see Function Handles and Anonymous Functions) or a string (see Tips).

ezcontour(fun,domain) plots fun(x,y) over the specified domain. domain can be either a 4-by-1 vector [xmin, xmax, ymin, ymax] or a 2-by-1 vector [min, max] (where min < x < max, min < y < max).

ezcontour(...,n) plots fun over the default domain using an n-by-n grid. The default value for n is 60.

ezcontour(axes_handle,...) plots into the axes with handle axes_handle instead of the current axes (gca).

h = ezcontour(...) returns the handles to contour objects in h.

ezcontour automatically adds a title and axis labels.

Tips

Passing the Function as a String

Array multiplication, division, and exponentiation are always implied in the string expression you pass to ezcontour. For example, the MATLAB syntax for a contour plot of the expression

sqrt(x.^2 + y.^2)

is written as

ezcontour('sqrt(x^2 + y^2)')

That is, x^2 is interpreted as x.^2 in the string you pass to ezcontour.

If the function to be plotted is a function of the variables u and v (rather than x and y), the domain endpoints umin, umax, vmin, and vmax are sorted alphabetically. Thus, ezcontour('u^2 - v^3',[0,1],[3,6]) plots the contour lines for u2 - v3 over 0 < u < 1, 3 < v < 6.

Passing a Function Handle

Function handle arguments must point to functions that use MATLAB syntax. For example, the following statements define an anonymous function and pass the function handle fh to ezcontour.

fh = @(x,y) sqrt(x.^2 + y.^2);
ezcontour(fh)

When using function handles, you must use the array power, array multiplication, and array division operators (.^, .*, ./) since ezcontour does not alter the syntax, as in the case with string inputs.

Passing Additional Arguments

If your function has additional parameters, for example, k in myfun:

function z = myfun(x,y,k)
z = x.^k - y.^k - 1;

then use an anonymous function to specify that parameter:

ezcontour(@(x,y)myfun(x,y,2))

Examples

The following mathematical expression defines a function of two variables, x and y.

ezcontour requires a function handle argument that expresses this function using MATLAB syntax. This example uses an anonymous function, which you can define in the command window without creating a separate file.

f=@(x,y) 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...
   - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
   - 1/3*exp(-(x+1).^2 - y.^2);

For convenience, this function is written on three lines. The MATLAB peaks function evaluates this expression for different sizes of grids.

Pass the function handle f to ezcontour along with a domain ranging from -3 to 3 in both x and y and specify a computational grid of 49-by-49:

ezcontour(f,[-3,3],49)

In this particular case, the title is too long to fit at the top of the graph, so MATLAB abbreviates the string.

See Also

contour | ezcontourf | ezmesh | ezmeshc | ezplot | ezplot3 | ezpolar | ezsurf | ezsurfc | function_handle

  


» Learn more
» Download free kit
» Get trial software

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS