这是我用于 Y 数据的数据:
0.577032413537833
0.288198874369377
0.192282280031568
0.143824619265244
0.114952782524097
0.0960518606520442
0.0824041879978560
0.0719078360110914
0.0640919744028295
0.0572120310249072
0.0519630635470660
0.0479380073164273
0.0443712721513307
X 只是从 1 到 13 的整数值,我知道这是在 MATLAB 上运行 GUI cftool 的形式 a*x^b+c 的幂函数,具有相当高的 R 平方值 (1)
为了在命令行上执行拟合,我使用了:
>> g = fittype('a*x^b+c','coeff',{'a','b','c'})
>> x=1:13;
>> [c3,gof3] = fit(x',B3(:,1),g)
这导致
c3 =
General model:
c3(x) = a*x^b+c
Coefficients (with 95% confidence bounds):
a = -179 (-1.151e+005, 1.148e+005)
b = 0.001066 (-0.6825, 0.6847)
c = 179.5 (-1.148e+005, 1.151e+005)
gof3 =
sse: 0.0354
rsquare: 0.8660
dfe: 10
adjrsquare: 0.8392
rmse: 0.0595
哪个不一样
General model Power2:
f(x) = a*x^b+c
Coefficients (with 95% confidence bounds):
a = 0.5771 (0.5765, 0.5777)
b = -1.001 (-1.004, -0.9983)
c = -8.972e-005 (-0.0005845, 0.000405)
Goodness of fit:
SSE: 4.089e-007
R-square: 1
Adjusted R-square: 1
RMSE: 0.0002022
我在 cftool GUI 界面上运行回归时得到的。我在这里缺少哪些选项,在看似模型上给了我相当不同的结果?a = -179 很可疑....
提前感谢您的投入。
哦,还有,一旦我把它们整理出来,有没有办法从拟合模型中只获得特定的价值?说,我只对 A 的值感兴趣。
对于 gof,我知道我可以使用 gof.rsquare 提取...等等,但是对于 cfit 呢?