# How do I define the domain of a function?

I have a function of two variables, f[x_, y_], and I would like to restrict the domain to values of x and y greater than zero. How do I do this?

I also want to plot the function for restricted values. I have tried to use RegionFunction -> Function[{x, y}, ...], but this doesn't work.

-
f[x_?Positive, y_?Positive] := ... –  rm -rf Apr 21 '13 at 21:30
3D plots, by the basic syntax of Plot3D, are restricted to a rectangular domain x ∈ {x_min, x_max} and y ∈ {y_min, y_max}. If doesn't work for you, please tell us what is the shape of the domain you have in mind. –  m_goldberg Apr 21 '13 at 23:09

## 1 Answer

You can also use Boole ... provided you are happy for your func to return 0 when the domain conditions are not met. For example:

f[x_, y_] := Boole[x > 0 && y > 0]  Cos[x] Sin[y]

Plot3D[f[x, y], {x, -1, 2}, {y, -1, 2}]


Alternatively, you can set up a Piecewise function with explicit settings for what is to be returned (e.g. Indeterminate) when your conditions are not satisfied.

-