matlab 非线性最小二乘法问题

浏览:2073 回答:1

现有两组散点x、y,想拟合为y=C1.*x.^2/(1+(1-(K+1).*C1.^2.*x.^2).^(1/2))+a*(x.^2)+b*(x.^4)+c*(x.^6)+d*(x.^8)形式,
x=;
y=;
运行程序如下:
syms C1 K a b c d
x=;
fi=C1.*x.^2/(1+(1-(K+1).*C1.^2.*x.^2).^(1/2))+a*(x.^2)+b*(x.^4)+c*(x.^6)+d*(x.^8)
出现警告:
Warning: System is inconsistent. Solution does not exist. 
fi =
[ Inf + a/25 + b/625 + c/15625 + (1511157274518287*d)/590295810358705651712, Inf + (4*a)/25 + (16*b)/625 + (64*c)/15625 + (1511157274518287*d)/2305843009213693952, Inf + (9*a)/25 + (81*b)/625 + (729*c)/15625 + (1210290878676085*d)/72057594037927936, ......
后面过多,在此不复制了,总之就是多项式的第一项都是Inf,请问为什么会出现这种情况,如何解决?最好提供一下程序,谢谢!

邀请回答 我来回答

全部回答

(1)
默认 最新
王忠文
如果追求的是效果而不是代码,就用1stopt吧: 相关系数(R): 0.99999998677724 相关系数之平方(R^2): 0.999999973554479 决定系数(DC): 0.999999972874056 卡方系数(Chi-Square): 6.68692837741245E-6 F统计(F-Statistic): 1815052131.43651 参数 最佳估算 ---------- ------------- c1 -0.000413575526215245 k -17351671.8653803 a 0.0118084009534888 b -8.27043394152969E-5 c 4.06674236596116E-7 d -9.21591370383961E-10
2016年1月12日
评论 点赞

没解决?试试专家一对一服务

换一批