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

2 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2012-3-5
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.
  2 个评论
Victor
Victor 2012-3-5
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?
Walter Roberson
Walter Roberson 2012-3-5
Beware of log vs log10
See also
http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F

请先登录,再进行评论。

更多回答(1 个)

Sean de Wolski
Sean de Wolski 2012-3-5
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.

类别

Help CenterFile Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by