As an example, consider this function g and its derivative gd:
g[x_] := x - 1/10*x^3;
gd[x_] = D[g[x], x];

Now you want to study monotonicity in a certain interval. For this, you will need to find the local extrema of your function. The corresponding x-values of your extrema can be found using Solve, NSolve or FindRoot (for this simple example, Solve works - in general the other two approaches are required for numerical solutions).
xextreme = Solve[gd[x] == 0, x][[;; , 1, 2]]
{-Sqrt[(10/3)], Sqrt[10/3]}
Now you need to study the derivative's sign in the intervals separated by these values. To do so, we generate a list that has values "left" and "right" as well as in between the values found in xextreme. This is general, though very likely not the most beautiful approach (but the first that came to my mind and suffices).
testvals = Append[Prepend[(Drop[Riffle[#, # + 1/2*Append[Differences@#, 0]], -1] &@xextreme), -2*#], 2*#] &@Max[Abs[xextreme]]
{-2 Sqrt[10/3], -Sqrt[(10/3)], 0, Sqrt[10/3], 2 Sqrt[10/3]}
Now check the sign of the derivative:
TableForm[Transpose[{testvals, Sign[gd[#]] & /@ testvals}], TableHeadings -> {None, {"x", "sign(g'(x))"}}]

- Negative sign: decreasing function
- Positive sign: increasing function
- Zero: local extrema (including possibility of saddle point)
Note that if you use NSolve or FindRoot, you should rather use Sign[Chop@gd[#]] inside the TableForm line to get around numerical issues.
Update
To be very specific for your function in question: Have a look at this beautiful package and evaluate these lines
Needs["ConstantsGrouping`"];
ClearAll[fc,fcs, rule1,rule2];
{fc[x_], rule1} = GroupConstants[f[x], x, GeneratedParameters -> (Symbol["kf" <> ToString[#]] &)];
{fcs[x_], rule2} = GroupConstants[Numerator@Together@D[fc[x], x], x, GeneratedParameters -> (Symbol["kfs" <> ToString[#]] &)];
Then, observe the "beauty" of fcs[x]. All these hundreds of constants kxyz depend on a,b,c as specified in rule1,rule2. You may even do fcs[x]/.rule2/.rule1 and see how large your expression becomes. Note that this is only the numerator of the derivative f'[x]. You would need to find roots of this thing, which appears to be impossible symbolically. Also, the numerical values will all (AFAIK) fail unless you specify values for a,b,cbecause there will be non-numerical values inside your expressions.
bxindicates a single variable called $bx$, not the productb*xas you wanted. To indicate the product, add a space in your code between $b$ and $x$:b x, or use an explicit multiplication sign (*). Also, you have some special character [Minus] in yourReduceexpression: replace it with a "normal" minus sign, i.e. a hyphen on the keyboard. When you make those changes, yourReduceexpression will return a result.SolveorNSolve, however, will really struggle to solve your equation symbolically. – MarcoB May 31 '16 at 16:35acshould bea cin several places. – murray May 31 '16 at 18:58Reduceexpression have to do with the rest of the code? (Note that the trailing semicolon returns null output from theReduceexpression!) Are the conditions there meant to represent constraints upon the parametersa,b, andc? – murray May 31 '16 at 19:00FullSimplifyis trying to simplify your expression. It involves square roots of square roots, so you might guess it is not trivial to find simplifications. Moreover, you do not specifyAssumptionsona,b,c,xso that Mathematica assumes they are complex - which in turn might prevent the simplification routines from finding solutions.D[f[x],xis just a straightforward derivative, without any further simplification applied - hence very fast. – Lukas Jun 01 '16 at 10:29