Unknown value remains start value - curve fitting toolbox

4 次查看(过去 30 天)
Hello,
I'm trying to fit the Hertz model (parabolic) to some data using the curve fitting toolbox of MATLAB.
ft = fittype( '(4/3 * sqrt(20E-9)) * (E /(1-0.4^2)) * (d - 0)^(3/2)', 'independent', 'd', 'dependent', 'F' );
opts = fitoptions( ft );
opts.Algorithm = 'Levenberg-Marquardt';
opts.Display = 'Off';
opts.Lower = -Inf;
opts.StartPoint = 1.2E6;
opts.Upper = Inf;
ex = excludedata( xData, yData, 'Indices', [1 2 3... ]);
opts.Exclude = ex;
[fitresult, gof] = fit( xData, yData, ft, opts );
The problem I have is that it doesn't really seem to fit the model to the data. The unknown (Young's modulus E) always stays the same number I give as a start value. For one particular case I know that E should be around 3.8E6 but as you can see from the results E remains at the start value 1.2E6. Although, I'm not quite sure what the values in the brackets represent. Is it like an error of the E value?
General model:
ans(d) = (4/3 * sqrt(20E-9)) * (E /(1-0.4^2)) * (d - 0)^(3/2)
Coefficients (with 95% confidence bounds):
E = 1.2e+06 (6.103e+05, 1.79e+06)
I already played a lot with the number of iterations and the termination tolerance but the problem remains.
Anyone encountered the same problem or has an idea where my mistake is?
thanks a lot in advance!
  1 个评论
Star Strider
Star Strider 2014-5-28
Not an ‘error’ in the brackets, but the 95% confidence limits. Since they don’t include zero, the estimate for ‘E’ is significant.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Smoothing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by