I have no trouble finding stationary points using diff and solve in the following way:
f:= somefunction; dx:=diff(f,x); evalf(solve(dx=0));
which gives me an approximation for the stationary points; however, if I wanted the stationary points between 1..4, for example, how do I specify that? I tried evalf(solve(dx=0, 1..4)); but I get an error saying "too many and/or wrong type of arguments...". Also, if I wanted to include a range too, so I was looking for stationary points within a square field, how do I accomplish that?