Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a function f(x) and I want to define a new function g(x) that is equal to f(x) only when f(x) is positive.

What is the right way to do that?

Sorry for this silly question, but I cannot find the proper way to accomplish this simple task in Mathematica.

share|improve this question
Maybe g[x_]:=Max[f[x],0] ? (Provided I correctly remember the syntax of Max). But what should be the value of your new function when f is not positive? Is the zero value important? – Peltio Nov 9 '13 at 18:17
@Peltio That sounds like an answer to me. – Szabolcs Nov 9 '13 at 18:24
@Peltio it's reasonable, but I'd like that the function g(x) was undefined when f(x) was negative. – psmith Nov 9 '13 at 18:27
Try Piecewise function, if it's works for you. – Hinstein Nov 9 '13 at 18:32
@s.s.o In this way g(x) is defined only for positive x, instead I want that it is defined only when f(x) is positive. – psmith Nov 9 '13 at 18:54
up vote 4 down vote accepted

You can check the Mathematica documentation about Condition /;

here is a simple example :

f[x_] := x + 5;
g[x_] := f[x] /; f[x] > 0





share|improve this answer
@Szabolcs, in fact it was what I suggested as comment but it was not what OP asked for. – s.s.o Nov 10 '13 at 19:39

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.