【发布时间】:2014-12-10 13:22:59
【问题描述】:
我尝试用 matlab (y=ax^b) 拟合幂律函数
我只是用
计算拟合拟合(x,y,'power1')
我收到此错误:
使用 fit>iFit 时出错(第 415 行) 模型函数计算的 NaN,拟合无法继续。 尝试使用或收紧系数的上限和下限。 拟合错误(第 109 行) [fitobj, goodness, output, convmsg] = iFit( xdatain, ydatain, fittypeobj, ...
哇哇哇!?我的 x 和 y 矩阵中没有 0,我认为没有任何东西会返回 NaN 值,而且我可以毫无问题地计算逆关系 fit(y,x,'power1')。
感谢您的任何帮助/建议!
编辑:(仅作为精度)Excel 确实找到了适合 (x,y) 的幂律!
EDIT2:代码,一旦 x 和 y 存储为变量。:
[p_powerlaw,results_powerlaw] = fit(x,y,'power1');
EDIT3:我更改了链接。现在,在我的保管箱中,您会找到 x 和 y 的 .mat ...尝试将它们与 power1 匹配...:P 不起作用!为什么?没看懂……
并尝试将 2 个矩阵 x 和 y 的值复制粘贴到其他矩阵中(不是通过分配,实际上是通过复制粘贴值)...拟合没有问题..!
【问题讨论】:
-
我认为问题不在于你有或没有0,而是拟合算法是否可以解决。不幸的是,并非所有东西都可以安装:(。但是,我不确定是否是这种情况。
-
谢谢安德斯。但只是愚蠢地想,当我绘制数据时,没有异常值,非常顺利。和 EXCEL 找到一个合适的!!!
-
mmmm 我执行了它,我得到了结果... a = 13.42 b = 0.9464
-
在 Matlab 中??? fit(x,y,'power1') 与我的 x 和 y???
-
mm 确保你首先做的是正确的......发布你的整个代码(应该是大约 3-4 行)
标签: matlab model-fitting