fitnlm完美运行或事故几乎相同的数据

2视图(30天)
我用fitnlm做一个简单的曲线拟合。大多数时候它完全运行,但时不时几乎相同的数据将导致崩溃,我不知道为什么。这是一个完美运行的例子:
这是一个例子,它不工作。示例代码都是,随着“威布尔函数。“它定义了适合。
非常感谢你的帮助。这确实已经感到困惑。
1评论
粘土Swackhamer
粘土Swackhamer 2020年10月7日
在这里粘贴完整的错误信息:
使用internal.stats错误。getscheffeparam > ValidateParameters(第182行)
如果非空,JW必须是一个数字,实际矩阵。
在internal.stats错误。getscheffeparam(第110行)
[J, VF,副总裁,JW Intopt, TolSVD,马口铁,矢量量化,usingJ] = ValidateParameters (JW,副总裁J, VF Intopt, TolSVD,马口铁,矢量量化,allowedIntopt);
错误nlinfit(第441行)
同步信道= internal.stats.getscheffeparam (WeightedJacobian, J ~ nan,:,“Intopt”、“观察”、“矢量”,VQ);
错误NonLinearModel /钳工(第1127行)
nlinfit (X, y, F, b0,选择,wtargs {:}, errormodelargs {:});
在classreg.regr错误。FitObject / doFit(第94行)
模型=钳工(模型);
在NonLinearModel错误。适合(第1434行)
= doFit模型(模型);
错误fitnlm(第99行)
模型= NonLinearModel.fit (X,变长度输入宗量{:});
错误fitnlm_broken(20)行
mdl = fitnlm (x, y, @weibull betaNot) %崩溃

登录置评。

接受的答案

Gaurav Garg
Gaurav Garg 2020年10月13日
嗨,粘土,
在后一种情况下返回的根( fitnlm_broken.m )都是虚构的,因此,你收到错误” JW必须标量或真正的矩阵 ”。要知道这一点,你可以将一个观察点 23日线 (×50 =…)和替换fitnlm nlinfit ,并检查变量 mdl (返回模型参数),并不是真正的在你的情况中。
因为参数不满秩矩阵,该模型不能适应x - y参数。
一个解决方案,这可能是你可以试着让你的数据满秩 主成分分析
3评论

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的