MATLAB Function Reference
ezsurf

Easy to use 3-D colored surface plotter

Syntax

• ```ezsurf(f)
ezsurf(f,domain)
ezsurf(x,y,z)
ezsurf(x,y,z,[smin,smax,tmin,tmax]) or ezsurf(x,y,z,[min,max])
ezsurf(...,n)
ezsurf(...,'circ')
```

Description

`ezsurf(f)` creates a graph of f(x,y), where `f` is a string that represents a mathematical function of two variables, such as x and y.

The function f is plotted over the default domain: -2 < x < 2, -2 < y < 2. MATLAB chooses the computational grid according to the amount of variation that occurs; if the function f is not defined (singular) for points on the grid, then these points are not plotted.

`ezsurf(f,domain)` plots f 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).

If f is a function of the variables u and v (rather than x and y), then the domain endpoints umin, umax, vmin, and vmax are sorted alphabetically. Thus, `ezsurf('u^2 - v^3',[0,1],[3,6])` plots u2 - v3 over 0 < u < 1, 3 < v < 6.

`ezsurf(x,y,z)` plots the parametric surface x = x(s,t), y = y(s,t), and z = z(s,t) over the square: -2 < s < 2, -2 < t < 2.

`ezsurf(x,y,z,[smin,smax,tmin,tmax])` or `ezsurf(x,y,z,[min,max])` plots the parametric surface using the specified domain.

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

`ezsurf(...,'circ')` plots f over a disk centered on the domain.

Remarks

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

• ```sqrt(x.^2 + y.^2);
```

is written as:

• ```ezsurf('sqrt(x^2 + y^2)')
```

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

Examples

`ezsurf` does not graph points where the mathematical function is not defined (these data points are set to `NaN`s, which MATLAB does not plot). This example illustrates this filtering of singularities/discontinuous points by graphing the function,

over the default domain -2 < x < 2, -2 < y < 2:

• ```ezsurf('real(atan(x+i*y))')

```

Using `surf` to plot the same data produces a graph without filtering of discontinuities (as well as requiring more steps):

• ```[x,y] = meshgrid(linspace(-2*pi,2*pi,60));
z = real(atan(x+i.*y));
surf(x,y,z)

```

Note also that `ezsurf` creates graphs that have axis labels, a title, and extend to the axis limits.

`ezmesh`, `ezsurfc`, `surf`