通常,优化工具箱™求解器不接受或处理具有复杂值的客观函数或约束。但是,最小二乘求解器lsqcurvefit.
那lsqnonlin
, 和Lsqlin.
,而且FSOLVE.
求解器可以根据以下限制处理这些目标职能:
目标函数必须在复杂的函数意义上进行分析(有关详细信息,请参阅Nevanlinna和Paatero[1])。例如,功能F(Z.)= re(Z.) -一世我是(Z.)不是分析,但功能F(Z.)= exp(Z.)是分析的。此限制自动保持Lsqlin.
。
必须没有约束,甚至没有限制。复杂的数字并不妥酷,所以尚不清楚“界限”可能意味着什么。当存在问题范围时,非线性最小二乘求解器禁止导致复杂值的步骤。
不要设置funvalcheck.选择'开'
。当求解器遇到复数时,此选项立即停止求解器。
警告
基于问题的方法不支持客观函数,非线性等分或非线性不等式中的复杂值。金宝app如果函数计算具有复数,甚至作为中间值,最终结果也可能不正确。
最小二乘求解器和FSOLVE.
尝试最小化函数值矢量的平方标准。即使在存在复杂值的情况下也有意义。
如果您有非分析函数或约束,则拆分问题的真实和虚部。例如,看到适合复杂的数据模型。
要获得最佳(最小的常态)解决方案,请尝试设置复杂的初始点。例如,解决1 +X.4.= 0.如果您使用真实的起点,则失败:
f = @(x)1 + x ^ 4;x0 = 1;x = fsolve(f,x0)
没有找到解决方案。FSOLVE停止,因为问题会正常如梯度测量,但通过函数公差的默认值测量,函数值的向量不接近零。x = 1.1176e-08
但是,如果您使用复杂的初始点,FSOLVE.
成功:
x0 = 1 + 1i / 10;x = fsolve(f,x0)
等式解决。FSOLVE完成,因为通过函数容差的默认值测量,功能值的向量接近零,问题会像梯度测量一样。x = 0.7071 + 0.7071i
[1] Nevanlinna,Rolf和V.Paatero。复杂分析简介。Addison-Wesley,1969年。