MATLAB: Output is giving me “Empty sym: 0-by-1”

diff()empty symMATLABoutputroots

syms s
g = (s^2-2*s+2)/((s+2)*(s+4)*(s+5)*(s+6))
x = diff(g)
b = roots(x)
I'm trying to solve for the roots of the differentiated function, but I'm getting the "Empty sym: 0-by-1" output, and I'm unsure why. I've followed the syntax on how everything should be, but I don't know why this is being outputted.

Best Answer

roots() is not explicitly defined for symbolic expressions, and will not work for scalar symbolic expressions. It is also only defined for polynomials, but g is not a polynomial. Instead use
b = solve(x);