Bonjour, merci d'avance de votre aide.
Bon dans le cadre de mon stage je dois effectuer un modèle chimique de spectre (Raman). J'ai dégagé un modèle fait mes spectres et maintenant je dois comparer mon modèle avec le spectre que je dois obtenir.
Pour faire simple j'ai un nombre n de spectre que je dois additionner implémentés de leurs coefficients et faire "fitter" cette somme avec la courbe que je veux obtenir. Le modèle mathématique étant :
a1S1(1)+a2S2(1)+...+anSn(1) = S(1) (environ =)
a1S1(2)+a2S2(2)+...+anSn(2) = S(2) etc ...
Ce modèle est supposé avec les mêmes valeurs de x puisque les valeurs des spectres sont stockées sous fichier texte en 2 colonnes x et y. Sachant qu'il y a plus de 5000 points de mesures à chaque fois.
Je sais effectuer un fit à partir d'une forme polynomiale mais là je n'y arrive pas à partir de cette forme linéaire. Je ne trouve ni la fonction ni la forme des moindre carrés à utiliser. Le logiciel utilisé est Matlab.
Merci de votre aide.
Voila le début du programme pour stocker les données de fichiers d'un dossier dans une matrice :
function [ x, y ] = spectre_fit( dir_name, ls, hs )
files = dir(dir_name);
fileIndex = find(~[files.isdir]);
for i = 1:length(fileIndex);
fileName = files(fileIndex(i)).name;
names{i} = fileName;
fid = fopen([dir_name fileName],'r');
data=fscanf(fid,'%f',[2 inf]);
x(ls:hs,i)=data(1,ls:hs)';
y(ls:hs,i)=data(2,ls:hs)';
fclose(fid);
end
for i = 1:length(ls:hs);
somme(i) = sum(y(i,);
end
somme = somme';
plot(x(:,1),somme);
end
-----