繁体   English   中英

Matlab:将曲线拟合到数据点

[英]Matlab: Fit curve to data points

我必须用函数g(x)=(A*B*x)/(1+B*x))+K*x+L*x^n拟合实验数据(x,y)。

这是我的代码:

x=[0;2;4;6;8;10;15;20;25;30;35;40;45;50;55;60;65;70;75;80;85;90];
y=[0.01;0.32;0.76;1.15;1.51;1.83;2.45;3.03;3.6;4.18;4.75;5.30;5.85;6.53;7.25;8.26;9.25;10.46;11.45;13.37;15.75;18.68];
g=fittype('((A*B*x)/(1+B*x))+K*x+L*x^n', 'independent',{'x'}, 'coefficients',{'A','B','K','L','n'});
f=fit(x,y,g,'StartPoint', [53.07, 0.003612, 0.139, 0.0002939, 2.454], 'Lower', [0 0 0.1 0 0 ],'MaxIter',100000);
plot(f)
hold on
scatter(x,y)

问题在于,它抛出的图形带有与实验数据不符的曲线。

谁能向我解释为什么? 如何获得适合数据的曲线?

当我拟合您发布的数据和方程时没有参数限制时,拟合方程与原始数据的关系图无法直观显示您报告的问题。 也许问题出在某种程度上与参数界限有关,如果是这样,当您无界限拟合时,您将获得与我获得的结果相似的结果。 参数范围之一可能导致观察到的困难。 为了进行比较,这是我无边界拟合时获得的参数值和拟合统计信息:

A = -4.6348799797589422E+00
B = -8.5030471461837072E-03
K = -2.3151367681587254E-01
L =  5.1192051372512604E-01
n =  8.5896339221116724E-01

Degrees of freedom (error): 13
Degrees of freedom (regression): 4
Chi-squared: 0.129575842219
R-squared: 0.999684934083
R-squared adjusted: 0.999587990724
Model F-statistic: 10312.051735
Model F-statistic p-value: 1.11022302463e-16
Model log-likelihood: 18.863852459
AIC: -1.540428051
BIC: -1.2931025627
Root Mean Squared Error (RMSE): 0.0848449049798

A = -4.6348799797589422E+00
std err: 2.21395E+00
t-stat: -3.11497E+00
p-stat: 8.20677E-03
95% confidence intervals: [-7.84937E+00, -1.42039E+00]

B = -8.5030471461837072E-03
std err: 1.21952E-07
t-stat: -2.43489E+01
p-stat: 3.13238E-12
95% confidence intervals: [-9.25748E-03, -7.74861E-03]

K = -2.3151367681587254E-01
std err: 4.48642E-01
t-stat: -3.45642E-01
p-stat: 7.35141E-01
95% confidence intervals: [-1.67855E+00, 1.21552E+00]

L = 5.1192051372512604E-01
std err: 3.36712E-01
t-stat: 8.82213E-01
p-stat: 3.93682E-01
95% confidence intervals: [-7.41674E-01, 1.76551E+00]

n = 8.5896339221116724E-01
std err: 7.71803E-02
t-stat: 3.09187E+00
p-stat: 8.57996E-03
95% confidence intervals: [2.58784E-01, 1.45914E+00]

Coefficient Covariance Matrix
[  2.22119894e+02  -5.17965896e-02   8.95871374e+01  -7.83675558e+01
-3.62713522e+01]
[ -5.17965896e-02   1.22351509e-05  -1.99822391e-02   1.74993754e-02
8.05904780e-03]
[  8.95871374e+01  -1.99822391e-02   4.50111094e+01  -3.89773831e+01
-1.86449684e+01]
[ -7.83675558e+01   1.74993754e-02  -3.89773831e+01   3.37814021e+01
1.61229511e+01]
[ -3.62713522e+01   8.05904780e-03  -1.86449684e+01   1.61229511e+01
7.74329075e+00]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM