1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| % point de départ de l'optimisation (G0,alpha,k)
x0=[100 0.1 1];
% fonction à fitter aux mesures xdata(= vecteur fréquences), ydata(= vecteur mesures)
fcn2fit = @(freq,G0,alpha,k) G0.*freq.^alpha + k.*freq;
% fitting
x= lsqcurvefit(@(x,xdata) fcn2fit(xdata,x(1),x(2),x(3)),x0,xdata,ydata,[],[],options);
% on récupère la solution
G0 = x(1);
alpha = x(2);
k = x(3);
% on compare le fitting et les mesures
fitResultG = fcn2fit(xdata,G0,alpha,k);
figure
semilogx(xdata,ydata);hold on
semilogx(xdata,fitResultG )
legend('mesures','fitting') |
Partager