MATLAB Answers


"Warning: Imaginary parts of complex X and/or Y arguments ignored" in fminserach and optimtool

Asked by Victor
on 5 Mar 2012

Dear all,

I am trying to fit a curve to experimental data by use of "optimtool" and "fminsearch".

But I receive a warning which says " Imaginary parts of complex X and/or Y arguments ignored". I have this warning from the first iteration.

Any idea to solve this warning is appreciated. Thanks in advance Best regards Victor


Log in to comment.


No products are associated with this question.

2 Answers

Answer by Walter Roberson
on 5 Mar 2012
 Accepted Answer

Turn on FunValCheck to produce an error when imaginary values are encountered.

If your fitting inherently involves imaginary quantities, then please note:

fminsearch only minimizes over the real numbers, that is, x must only consist of real numbers and f(x) must only return real numbers. When x has complex variables, they must be split into real and imaginary parts.


Dear all,
Thanks for your comments.
Now it is ok but I found just if I let the Matlab to calculate the numbers, it will give me the errors!
For example instead of writing the final value of log(a/b) with a=0.001 and b=1 I wrote -3 and now also instead of "1-((103-298)/(1723-298)" I wrote 1.136842105
It is so strange for me.
do you have any idea?

Beware of log vs log10

See also

Log in to comment.

Answer by Sean de Wolski
on 5 Mar 2012

Evaluate your function at the initial values you provide. Is the result complex? If so, that's the reason for the warning. We can't be of much more assistance without seeing reproduction steps.


Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!