1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
//Fonction à fitter
function [Z,P]=FonctionZP(a,x)
// a(1) = paramètre 1
// a(2) = paramètre 2
// (...)
// a(9) = paramètre 9
// a(10) = paramètre 10
// x = spectre
// le reste de l'équation est trop long à mettre mais ça produit deux sorties à partir de deux paramètres : Z et P
endfunction
// Extraction des data expérimentales (x, Z et P)
[d]=read('data_experimentales.txt',-1,3);
xdata=d(:,1);
Zdata=d(:,2);
Pdata=d(:,3);
function err=fFonctionZP(param,m)
a=param;
[Z,P]=FonctionZP(a,xdata);
err=(Zdata-Z) + (Pdata-P);
endfunction
// Valeurs de départ
ainit=[1; -2; 3; 4; 5; 6; 7; 8; 9; 10];
[asol,v,info]=lsqrsolve(ainit,fFonctionZP,size(xdata,1)) ) |
Partager