【问题标题】:Complex value error in Matlab curve fittingMatlab曲线拟合中的复值误差
【发布时间】:2018-03-19 23:26:30
【问题描述】:

我正在使用 Matlab 曲线拟合工具来拟合一组数据(x 范围从 1 到 3,y 范围从 1 到 0)与以下自定义方程:

y = a*((b-x)/b)^c

我收到以下错误,但我不知道为什么:

模型函数计算的复数值,无法继续拟合。 尝试使用或收紧系数的上限和下限。

我尝试调整系数的界限和起始值,但没有。看起来问题是由权力 ^c 给出的(没有它,它可以工作)。

任何帮助将不胜感激!

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您似乎得到了

    的负值
    (b-x)/b
    

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

    【讨论】:

    • 我明白了,感谢您的回复!唯一的问题是我知道 b 介于 2.1 和 2.3 之间...我该如何解决?
    • 顺便说一句,即使它对结果毫无用处,我刚刚尝试了您的建议,问题仍然存在!
    • 目前除了我上面解释的内容之外,我看不到复杂值应该来自哪里。您能否再次验证 b 和 x 的值并确保 (b-x) 永远不会变为负数。请使用其他信息更新您的问题,例如您在 Matlab 中运行的完整调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多