Bonjour,
Je suis débutante sur matlab et je cherche à faire une interpolation quadratique de points disposés non uniformément sur une grille.
Pour cela je dois comprendre un code matlab déjà écrit.
% Use surface fitting to find interpolated displacement at 'pos'
Xf = closest_pts(1:num,1); Yf = closest_pts(1:num,2); Uf = closest_pts(1:num,3);
P = zeros(num,6); %num etant mon nombre de points utilises pour l'interpolation
P(:,1) = 1;
P(:,2) = Xf;
P(:,3) = Yf;
P(:,4) = Xf.^2;
P(:,5) = Yf.^2;
P(:,6) = Xf.*Yf;
%This is a standard method of finding the least squares
%solution for a system of equation (see 'Linear Algebra With
%Applications' by Otto Bretscher)
a = pinv(P'*P)*P'*Uf;
interp = a(1) + a(2)*pos(1) + a(3)*pos(2) + a(4)*(pos(1)^2)+...
a(5)*(pos(2)^2) + a(6)*pos(1)*pos(2);
Je comprends que interp correspond à l'interpolation quadratique et que a sont donc les coefficents recherchés MAIS
je ne comprends pas pourquoi : a = pinv(P'*P)*P'*Uf;
merci pour votre aide!!!
-----