This media was created with Scilab, a free open-source software.
Here is a listing of the Scilab source used to create this file.
// **********// Constantes et initialisation// **********clear;clf;chdir("monchemin\")// paramètres du lissage :largeur=9;// largeur de la fenêtre glissante (nb de pts)// **********// Fonctions// **********// polynôme de degré 3function[y]=poldegtrois(A, x)// méthode de Hornery=((A(1).*x+A(2)).*x+A(3)).*x+A(4);endfunction// régression avec le polynôme de degré 3function[A]=regression(X, Y)// X et Y : vecteurs colonne de 9 valeurs ;// détermine le polynôme de degré 3// a*x^2 + b*x^2 + c*x + d// par régression sur (X, Y)XX=[X.^3;X.^2;X];[a,b,sigma]=reglin(XX,Y);A=[a,b];endfunction// lissage, détermination de la dérivée et de la dérivée secondefunction[y, yprime, yseconde] = savitzkygolay(X, Y, larg)// X, Y : nuage de points// larg : largeur de fenêtren=size(X,"*");decalage=floor(larg/2);y=Y;yprime=zeros(Y);yseconde=yprime;fori=(decalage+1):(n-decalage)intervX=X((i-decalage):(i+decalage),1);intervY=Y((i-decalage):(i+decalage),1);Aopt=regression(intervX',intervY');x=X(i);y(i)=poldegtrois(Aopt,x);// running plot and picture saving to be introducedyprime(i)=(3*Aopt(1)*x+2*Aopt(2))*x+Aopt(3);// Horneryseconde(i)=6*Aopt(1)*x+2*Aopt(2);endendfunction// **********// Programme principal// **********// lecture des donnéesdonnees=read("mes_donnees.txt",-1,2)Xinit=donnees(:,1);Yinit=donnees(:,2);// Traitement des données[Yliss,Yprime,Yseconde]=savitzkygolay(Xinit,Yinit,largeur);
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
to share – to copy, distribute and transmit the work
to remix – to adapt the work
Under the following conditions:
attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.