MATLAB: Problem with imag command when evaluating symbolic expressions.

complex numberssymbolic

Hi, when I execute the following code in Matlab
syms x y; f=4*i+9*x+y; imag(f)
I get the following result
ans =
(9*i*conj(x))/2 – (i*y)/2 – (9*i*x)/2 + (i*conj(y))/2 + 4
and the result should be 4 instead of what I get. I cannot figure out where have I gone wrong.Any ideas?
Thank you in advance.

Best Answer

The result is correct. The symbolic toolbox assumes that variables might be complex unless it has been told otherwise. Try
syms x y real