2017-10-08 158 views
0

我使用Matlab曲线拟合工具来拟合一组数据(x的范围从1到3,y的范围从1到0),并使用以下自定义公式:Matlab曲线拟合中的复值误差

Y = A *((BX)/ b)^ C

我得到以下错误和我不为什么:

由模型函数,拟合计算

复值无法继续。 尝试使用或收紧系数的上限和下限。

我试着调整系数的边界和起始值,但没有任何结果。看起来这个问题在某种程度上是由权力^ c给出的(没有它,它是有效的)。

任何帮助将非常感激!

回答

0

好像你正在负值为

(b-x)/b 

设置b的界限,使其不能得到小于x。 (b必须等于或大于3)。

+0

我明白了,谢谢你的回复!唯一的问题是我知道b是2.1到2.3之间的东西......我该如何解决它? –

+0

顺便说一句,即使它的结果没用,我只是试过你的建议,问题仍然存在! –

+0

目前我没有看到复杂值应该来自哪里,除了我上面解释的。你能否再次验证b和x的值,并确保(b-x)不会变负。请使用其他信息更新您的问题,例如您在Matlab中运行的完整调用。 – Marcus