Damped Harmonic Oscillator fitting for data set
Mostra commenti meno recenti
Hello, I am working on a Avdanced Lab fit of a damped harmonic oscilator. I am trying to use this code from the forum but I can not seem to get it to work. The code I am using is attached. The x data is time in seconds and the y data is the position.
Here is what the plot is coming out as.
Thank you so much,
Sofia

Risposte (1)
I think it pretty much depends on the custom nonlinear model that you supply to the fit() algorithm, as well as the lower and upper boundaries of the coefficients.
This may not the best fitted curve, but at least it shows something.
fo = fitoptions('Method', 'NonlinearLeastSquares', ...
'Lower', [0, 0, 0, 0, 0, 91], ...
'Upper', [10, 1, 0.01, 0.1, 0.001, 94], ...
'StartPoint', [5 0.5 0.005 0.05 0.0005 92.5]);
ft = fittype('d - a1*exp(-b1*x)*cos(b2*x) - a2*exp(-b1*x)*sin(b2*x) + c*x', 'options', fo);
[curve, gof] = fit(x, y, ft)
curve =
General model:
curve(x) = d - a1*exp(-b1*x)*cos(b2*x) - a2*exp(-b1*x)*sin(b2*x) + c*x
Coefficients (with 95% confidence bounds):
a1 = 3.629 (3.57, 3.688)
a2 = 0.481 (0.4195, 0.5426)
b1 = 0.001029 (0.0009959, 0.001063)
b2 = 0.022 (0.02197, 0.02204)
c = 0.0002824 (0.0002621, 0.0003027)
d = 92.47 (92.44, 92.5)
gof =
struct with fields:
sse: 4.5976
rsquare: 0.9919
dfe: 255
adjrsquare: 0.9918
rmse: 0.1343
Result:

Categorie
Scopri di più su Get Started with Curve Fitting Toolbox in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!