关于非线性拟合的参数问题我用1stOpt进行非线性拟合,现在我对于拟合的结果有点疑问,Root of Mean Squa

关于非线性拟合的参数问题
我用1stOpt进行非线性拟合,现在我对于拟合的结果有点疑问,Root of Mean Square Error (RMSE):26.44652781262
Sum of Square Error (SSE):1748547.08335921
Correlation Coef.(R):0.259670235027033
R-Square:0.0674286309589946
Determination Coef.(DC):-0.000138321931243052
这些参数分别是什么意思,有什么作用,是越大说明拟合度越好呢,还是越小越好,
破帽恋头 1年前 已收到1个回答 举报

只做朋友好吗 幼苗

共回答了16个问题采纳率:93.8% 举报

要新建两个文件:
主文件,test.m
------------------------------------------------------------------------------
function test
clear
clc
x = [51.885; 86.4; 134.73; 157.74; 240.6; 321.15; 374.05];
f = [-21.4823; -21.0836; -20.98485; -20.90685; -20.30025; -19.5936; -16.960725];
ft = fittype( 'fit_func( x, t )' );
cfun = fit( x, f, ft, 'StartPoint', -0.01 ); % 开始拟合
cfun % 输出拟合参数等
plot( cfun, x, f ) % 画出拟合后曲线和原始数据点

end
函数文件,用于自定义的函数:fit_func.m
------------------------------------------------------------------------------
function f = fit_func( x, t )
J = 21.18;
Li = 1e-6;
Voc = 0.418;
Ld = t * ( Voc - x );
f = J*Ld ./ ( Li*(1-exp(-Ld/Li)) );

end
------------------------------------------------------------------------------
可以保证运行输出结果,运行后自动绘出曲线和原始数据点,但是结果可能不会令人满意.我不保证编码时完全正确,但基本思想就是这样.你需要仔细检查代码,试着调正fit函数中StartPoint,还有其他选项(参见文档中fitoptions的说明),直到曲线和数据点吻合到满意为止.当然也可能是该函数不是这批数据点的理想模型,换成别的会更好.

1年前

4
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.022 s. - webmaster@yulucn.com