Fichier:Desommation gaussienne lorentzienne.svg
Fichier d’origine (Fichier SVG, nominalement de 610 × 460 pixels, taille : 59 kio)
Ce fichier et sa description proviennent de Wikimedia Commons. | Accéder au fichier sur Commons |
Description
DescriptionDesommation gaussienne lorentzienne.svg |
English: Non linear regression to fit the curve with the sum of a lorentzian function and a gaussian function. Français : Régression non linéaire pour ajuster la courbe avec la somme d'une fonction lorentzienne et d'une fonction gaussienne. |
Date | |
Source | Travail personnel |
Auteur | Cdang |
Scilab source
This media was created with Scilab, a free open-source software. Here is a listing of the Scilab source used to create this file. |
Fichier fonctions_gaussien_lorentzien.sci
: fonction étudiée (bibliothèque).
// *************
// * Fonctions *
// *************
// Fonction gaussienne centrée sur 0
function [y] = gauss(A, x)
// A(1) : hauteur de pic
// A(2) : "largeur" du pic
y = A(1)*exp(-x.*x/A(2));
endfunction
// Fonction lorentzienne centrée sur 0
function [y] = lorentz(A, x)
// A(1) : hauteur de pic
// A(2) : "largeur" du pic
foo = A(2)*A(2);
y = foo*A(1)./(foo + 4*x.*x);
endfunction
function [y] = profil(A, x)
// A(1) : hauteur de pic lorentzien
// A(2) : "largeur" du pic lorentzien
// A(3) : hauteur de pic gaussien
// A(4) : "largeur" du pic gaussien
L = A(1:2);
G = A(3:4);
y = lorentz(L, x) + gauss(G, x);
endfunction
Fichier generateur_pic_gaussien_lorentzien.sce
: crée un nuage de points et l'enregistre dans le fichier pic_gaussien_lorentzien_bruite.txt
.
chdir("/monChemin/");
exec("fonctions_gaussien_lorentzien.sci");
// **************
// * Constantes *
// **************
paramlorentz(1) = 5; // hauteur de la courbe lorentzienne
paramlorentz(2) = 2; // largeur de la courbe lorentzienne
paramgauss(1) = 10; // hauteur de la courbe gaussienne
paramgauss(2) = 3; // largeur de la courbe gaussienne
var=0.5; // variance de la loi normale pour le bruit
nbpts = 100 // nombre de points
demielargeur = max(3*paramgauss(2), 3*paramlorentz(2)) // pour intervalle x
pas = 2*demielargeur/nbpts;
// ******************
// * Initialisation *
// ******************
X = zeros(nbpts,1);
Y = zeros(nbpts,1);
// ***********************
// * Programme principal *
// ***********************
// Nuage de points
i=(1:nbpts)';
X = pas*i - demielargeur;
Y = profil([paramlorentz;paramgauss], X) + var*rand(X, "normal");
// Enregistrement
csvWrite([X, Y], "pic_gaussien_lorentzien_bruite.txt")
Fichier desommation_gauss_lorentz.sce
: traite les données.
// ******************
// * Initialisation *
// ******************
clf;
chdir("/monChemin/");
exec("fonctions_gaussien_lorentzien.sci");
// **************
// * Constantes *
// **************
Ainit = [1;1;1;1]; // paramètres initiaux du modèle
// *************
// * Fonctions *
// *************
// Résidus
function [e] = residus(A, x, y)
e = profil(A, x) - y;
endfunction
// ***********************
// * Programme principal *
// ***********************
// Lecture des données
donnees = csvRead("pic_gaussien_lorentzien_bruite.txt")
X = donnees(:,1);
Y = donnees(:,2);
// Traitement des données
[S, Aopt] = leastsq(list(residus, X, Y), Ainit)
Yopt = profil(Aopt, X);
YLopt = lorentz(Aopt(1:2),X);
YGopt = gauss(Aopt(3:4),X);
// Affichage
plot(X, Yopt, "-r")
plot(X, YLopt, "-c")
plot(X, YGopt, "-g")
plot(X, Y, "+b")
hauteur = max(Y);
xmin = min(X)
xstring(xmin, hauteur*0.95,...
"lorentzienne : Al = "+string(0.01*round(100*Aopt(1)))...
+" ; Hl = "+string(0.01*round(100*Aopt(2))))
xstring(xmin, 3*hauteur/4,...
"gaussienne : Ag = "+string(0.01*round(100*Aopt(3)))...
+" ; Hg = "+string(0.01*round(100*Aopt(4))))
xstring(xmin, hauteur/2,...
"variance : S = "+string(0.01*round(100*S)))
Conditions d’utilisation
- Vous êtes libre :
- de partager – de copier, distribuer et transmettre cette œuvre
- d’adapter – de modifier cette œuvre
- Sous les conditions suivantes :
- paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
- partage à l’identique – Si vous modifiez, transformez, ou vous basez sur cette œuvre, vous devez distribuer votre contribution sous la même licence ou une licence compatible avec celle de l’original.
Éléments décrits dans ce fichier
dépeint
Valeur sans élément de Wikidata
8 novembre 2012
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
---|---|---|---|---|---|
actuel | 2 mai 2019 à 23:11 | 610 × 460 (59 kio) | Cdang | half variance; rounded values | |
8 novembre 2012 à 16:40 | 483 × 364 (57 kio) | Cdang | User created page with UploadWizard |
Utilisation du fichier
La page suivante utilise ce fichier :
Usage global du fichier
Les autres wikis suivants utilisent ce fichier :
- Utilisation sur fr.wikipedia.org
Métadonnées
Ce fichier contient des informations supplémentaires, probablement ajoutées par l'appareil photo numérique ou le numériseur utilisé pour le créer.
Si le fichier a été modifié depuis son état original, certains détails peuvent ne pas refléter entièrement l'image modifiée.
Largeur | 610 |
---|---|
Hauteur | 460 |