MATLAB Answers

Least Square Minimization (Levenberg-Marquant method) of damped oscillation curves

6 views (last 30 days)
Louise
Louise on 2 Dec 2019
Edited: Matt J on 2 Dec 2019
Hi,
My goal is to fit my experimental data (attached) with the following equation with Levenberg Marquant method :
A*exp(-c*t)*sin(2*pi*f*t+phi), where A is the amplitude, t is time, c is the damping coefficient and f the frequency and phi the phase coefficient.
As my skills are weak in least square minimzation in Matlab, thanks in advance for your help,
Louise.

  0 Comments

Sign in to comment.

Accepted Answer

Matt J
Matt J on 2 Dec 2019
You can use lsqcurvefit with the 'levenberg-marquardt' Algorithm setting

  4 Comments

Show 1 older comment
Matt J
Matt J on 2 Dec 2019
This works a bit better. I don't know if I trust the model enough to expect a better fit.
fun = @(x,t) x(1)*exp(-x(2)*t).*sin(2*pi*x(3)*t+x(4))+x(5);
x0 = [max(S),1,0.1,1,mean(S)];
options = optimoptions('lsqcurvefit','Algorithm','levenberg-marquardt');
lb = [0,0,0,-1,-inf];
ub = [inf,inf,inf,1,+inf];
x = lsqcurvefit(fun,x0,t,S,lb,ub,options)
plot(t,S,'ko',t,fun(x,t),'b-')
legend('Data','Fitted exponential')
title('Data and Fitted Curve')

Sign in to comment.

More Answers (0)

Sign in to answer this question.