//on rentre les données de l'echantillon
//attention on veut des vecteurs colonnes
t=[...]'
y=[...]'
m=size(t,1) // on recupere la taille de l'echantillon
n=... // le nombre de parametre qu'on fais varier (d°polynome-1)
V=vandermonde(t)
A=V(:,1:n) // on ne prend que les n colonnes qui nous interresse
//pour de l'interpolation au choix
// la fonction qui fait tout (ouai)
beta_1 = linsolve(V,y)
//ou le calcul explicite (beurk)
beta_2 = inv(V)*y
// inv(V) plutot que V^-1 car c'est plus rapide
// il diagonalise la matrice et pour une simple inversion ca sert à rien
//pour l'approximation des moindres carrés
//le calcul explicite (beurk)
alpha_2 = inv(A'*A)*A'*y
//la fonction de scilab (ouai)
//simplement
alpha_0 = linsolve(A'*A, A'*y)
//ou plus subtile
//on définie d'abord la fonction de R^n->R^m qu'on cherche a minimiser
function e = f(u)
e=A*u-y //le vecteur des ecarts entre le modele et les mesures
end
uo = zeros(1::n) //une valeur initiale
alpha_1 = leastsqr(f, uo)
function [v] = vandermonde(x)
n = size(x,1)
v = (x*ones(1,n)).^(ones(n,1)*(0:n-1))
endfunction
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 21 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :